我一直在尝试将Windows Phone 8与PhoneGap和插件(https://github.com/phonegap/phonegap-plugins/tree/master/WindowsPhone/BarcodeScanner)一起用于BarcodeScanning。但我不知道如何开始。
我在我的index.html中集成了<a href="#" class="btn" onclick="window.plugins.barcodeScanner.scan">Scan Code</a>
,但VS2012只告诉我Error:"Unable to get property 'barcodeScanner' of undefined or null reference file:x-wmapp0:www/index.html Line:31"
有人能帮我一把吗?
答案 0 :(得分:1)
我认为你没有包括cordova.windows-x.x.x.js或barcodescanner.js。
答案 1 :(得分:1)
barcodeScanner.js中存在错误。
在文件的底部显示
Cordova.addConstructor(function() {
将Cordova改为cordova(小写),你很高兴。
接下来,如果您收到错误
Error::Plugin not allowed in config.xml. org.apache.cordova.barcodeScanner
在尝试扫描时,将以下内容添加到项目根目录中的config.xml中:
<plugin name="org.apache.cordova.barcodeScanner"/>
答案 2 :(得分:1)
我不确定这是否是您想要的,但这是我为使其发挥作用所采取的措施:
在项目中添加BarcodeScanner和ZXingVer1_7 dll。
将BarcodeScanner.cs添加到您的项目中。(必须位于项目的根目录)
将<plugin name="BarcodeScanner" />
添加到config.xml。
将barcodescanner.js添加到“www”目录。
添加<script type="text/javascript" src="../barcodescanner.js"></script>
在你的cordova.js声明之后到你的html页面。 (路径可能会有所不同,具体取决于您放置HTML的位置)
在你的barcodescanner.js中,确保所有“cordova”引用都不是这样写的:“Cordova”
在你的barcodescanner.js中,在开头的行中:“return cordova.exec(...”,将“barcodeScanner”替换为“(你的项目名称).barcodeScanner”
要使用它,只需将其添加到需要条形码扫描的位置:
window.plugins.barcodeScanner.scan(function (result) {
alert("We got a barcode\n" +
"Result: " + result.text + "\n" +
"Format: " + result.format + "\n" +
"Cancelled: " + result.cancelled);
}, function (error) {
alert("Scanning failed: " + error);
});