【发布时间】:2015-11-25 08:13:34
【问题描述】:
我对条码扫描器插件有疑问(我不是天才,也不知道如何编写网络应用程序。)。
我使用phonegap和cordova,我尝试做一个在点击链接后扫描条形码的网络应用程序。
我之前用这个命令行安装了插件:
cordova plugin add cordova-plugin-barcodescanner
我写了这个js代码:
function scan(){
cordova.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);
}
);
}
在 html 中:
<a href="javascript:void(0);" onclick="scan()">Scan</a>
但是当我点击链接时,什么都没有发生。
如果我在功能扫描(){之后发出警报,它会显示
如果我在之后发出警报:cordova.plugins.barcodeScanner.scan(, 什么都不做。
因此,我尝试卸载插件并使用以下命令行安装它:
cordova plugin add com.phonegap.plugins.barcodescanner
js和html代码一样,但是还不行。
所以,我卸载了插件并尝试安装它:
cordova plugin add https://github.com/wildabeast/BarcodeScanner.git
但是什么都没有。
我搜索了很多,我尝试了很多解决方案!
我使用 cordova 5.0.0,并在 android 4.4 和 IOS 上试用该插件。
我还安装了插件相机。
所以,请帮助我!错误在哪里?
我遵循了我在网络和 stackoverflow 上找到的所有解决方案。
代码总是在以下之后崩溃:
cordova.plugins.barcodeScanner.scan(
有人可以帮帮我吗? 非常感谢。
【问题讨论】:
-
在开始您的脚本之前,您是否正在等待 cordova deviceready 事件?
-
是的,在开始我的脚本之前,我正在等待 cordova deviceready 事件。
-
在 onDeviceReady 事件中编写插件代码,确保在 html 文件中包含 cordova.js。
-
我们必须将函数 scan() 放入 onDeviceReady 中吗? function onDeviceReady () { function scan(){ cordova.plugins.barcodeScanner.scan( function (result) { alert("We got a barcode\n" + "Result: " + result.text + "\n" + "Format : " + result.format + "\n" + "取消:" + result.cancelled); }, function (error) { alert("扫描失败:" + error); } ); } } 这是正确的吗?我确定我已经包含了cordova.js
标签: android ios cordova phonegap-plugins barcode-scanner