我已经尝试了barcodescanner.js samples我需要Qrcode阅读器的phonegap项目,提供的示例项目在xcode中运行良好。我试图开发一个独立项目时出现问题。
<plugin name="com.cordova.barcodeScanner" value="CDVBarcodeScanner" />
barcodescanner.js
及其标记。我的代码:
function onDeviceReady()
{
// do your thing!
navigator.notification.alert("PhoneGap is working");
scanButton = document.getElementById("scan-button");
resultSpan = document.getElementById("scan-result");
scanButton.addEventListener("click", clickScan, false);
createButton.addEventListener("click", clickCreate, false);
}
function clickScan() {
alert("clickScan");
window.plugins.barcodeScanner.scan(scannerSuccess, scannerFailure);
}
function scannerSuccess(result) {
console.log("scannerSuccess: result: " + result)
resultSpan.innerText = "success: " + JSON.stringify(result)
}
function scannerFailure(message) {
console.log("scannerFailure: message: " + message)
resultSpan.innerText = "failure: " + JSON.stringify(message)
}
直到警报才可以; “clickscan”,
之后没有任何事情发生(什么阻止我的window.plugins.barcodeScanner.scan(scannerSuccess, scannerFailure);
工作)。
这就是我的项目的样子 - &gt;
Iam挣扎了两天,我在SO中检查了几乎所有关于“barcodescanner”标签的问题,没有解决我的问题,需要你的帮助..谢谢。
答案 0 :(得分:1)
在您的config.xml中,您有:
<plugin name="com.cordova.barcodeScanner" value="CDVBarcodeScanner" />
但是在您的问题中链接的zip存档中的barcodescanner.js中,它的调用方式如下:
Cordova.exec(successWrapper, fail, "org.apache.cordova.barcodeScanner", "scan", options);
因此,请尝试将config.xml中的行更改为
<plugin name="org.apache.cordova.barcodeScanner" value="CDVBarcodeScanner" />
经过更多调查后,已经确定示例.zip中的barcodescanner.js是针对旧版本的Phonegap编写的,与2.7不兼容。 Here's a version我使用2.7和2.9,在config.xml中需要<plugin name="BarcodeScanner" value="CDVBarcodeScanner" />
,可以像这样调用:
var scanner = cordova.require("cordova/plugin/barcodescanner");
scanner.scan(scannerSuccess, scannerFailure);