Potrzebuję utworzyć i zainstalować niestandardową wtyczkę cordova w aplikacji na telefon z systemem Windows 8 opartej na Cordova. Obecnie obsługa przycisku kliknięcia w aplikacji nie może zobaczyć obiektu js, który wywołuje cordova.execOgólna niestandardowa wtyczka dla systemu Windows 8 Telefon nie może znaleźć obiektu js wpisu
Ten obiekt z funkcją wywołania cordova.exe nazywa się dlScanner Posiada funkcję scanBarcode, która wywołuje cordova.exec
handler click to:
$(document).ready(function() {
$('#cmdOne').click(function() {
dlScanner.scanBarcode(
function (results) {
alert(results);
}), function (err) {
alert(err);
}, 'lowercaseworld'
});
});
komunikat o błędzie jest taka:
TypeError: Cannot read property 'scanBarcode' of undefined
Kontekst: Użyłem generatora pluginów Microsoftu, PluginGenerator, znalezionego here. Następnie użyłem Projektanta widoku, w pliku config.xml aplikacji, w Visual Studio Community 2015, aby zainstalować tę wtyczkę w ogólnej aplikacji telefonicznej Windows 8, którą VS utworzył dla mnie wcześniej.
To proces plugin zainstalować umieścić to w aplikacji pliku config.xml
<vs:plugin name="com.contoso.dlScanner" version="0.1.0" src="C:\Users\TestAndDemo\dlScanner" />
W katalogu dlScanner (mowa powyżej) istnieją src www i katalogów i plików plugin.xml
W tym plugin.xml plik jest taka:
<js-module src="www/dlScanner.js" name="dlScanner">
<clobbers target="dlScanner" />
</js-module>
<!-- wp8 -->
<platform name="wp8">
<config-file target="config.xml" parent="/*">
<feature name="dlScanner">
<param name="wp-package" value="dlScanner"/>
</feature>
</config-file>
<source-file src="src/wp/dlScanner.cs" />
WW w/pliku dlScanner.js zawiera to:
var dlScanner = {
scanBarcode: function (successCallback, errorCallback, strInput) {
cordova.exec(successCallback, errorCallback, "dlScanner", "scanBarcode", [strInput]);
}
}
module.exports = dlScanner;
Co muszę zrobić, aby umożliwić obsługi kliknij aby zobaczyć obiekt dlScanner?
Dzięki
Zauważam, że w innych projektach Win8 cordova znajduje się plik www/cordova_plugins.js, który uruchamia to: 'cordova.define ('cordova/plugin_list', function (require, exports, module) {module.exports = ['moja BlankApp, której VS nie ma. Tak więc myślę, że albo potrzebuję tego pliku, albo muszę uruchomić mój plik www/dlScanner.js. Oba robią idee 'module.exports'? – pdschuller