Ich muss ein benutzerdefiniertes Cordova-Plugin in einer cordova-basierten Windows 8-Telefon-App erstellen und installieren. Derzeit kann die Schaltfläche Click-Handler in der App nicht das js Objekt sehen, die den Anruf tätigtGenerisches benutzerdefiniertes Plugin für Windows 8 Phone kann Eintrag js Objekt
dieses Objekt mit der Funktion cordova.exec der cordova.exe nennt wird dlScanner genannt Es hat eine Funktion, scanBarcode die Anrufe cordova.exec
Der Click-Handler, ist dies:
$(document).ready(function() {
$('#cmdOne').click(function() {
dlScanner.scanBarcode(
function (results) {
alert(results);
}), function (err) {
alert(err);
}, 'lowercaseworld'
});
});
Die Fehlermeldung ist dies:
TypeError: Cannot read property 'scanBarcode' of undefined
Kontext: Ich habe den Plugin Generator von Microsoft, PluginGenerator, verwendet, der here gefunden hat. Dann habe ich den View Designer in der Datei config.xml der App in Visual Studio Community 2015 verwendet, um das Plugin in die generische cordova Windows Phone App zu installieren, die VS für mich zuvor erstellt hatte.
Das Prozess-Plugin installieren setzen diese Datei in der config.xml App
<vs:plugin name="com.contoso.dlScanner" version="0.1.0" src="C:\Users\TestAndDemo\dlScanner" />
Im dlScanner Verzeichnis (oben genannten) gibt es src und www-Verzeichnisse und eine plugin.xml Datei
Darin plugin.xml Datei ist dies:
<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" />
Die ww w/dlScanner.js Datei enthält diese:
var dlScanner = {
scanBarcode: function (successCallback, errorCallback, strInput) {
cordova.exec(successCallback, errorCallback, "dlScanner", "scanBarcode", [strInput]);
}
}
module.exports = dlScanner;
Was muß ich tun, um den Click-Handler zu ermöglichen, das dlScanner Objekt zu sehen?
Dank
Ich bemerke, dass in anderen Win8 cordova Projekten gibt es eine www/cordova_plugins.js Datei, die dies ausführt: 'cordova.define ('cordova/plugin_list', Funktion (erfordern, exportiert, Modul) {Modul.exports = ['meine BlankApp, die VS erstellt hat, hat das nicht. Also ich denke, ich brauche entweder diese Datei oder ich muss meine www/dlScanner.js Datei laufen lassen. Beide machen 'modul.exports' Ideen? – pdschuller