【问题标题】:cordova plugin barcode scanner doesn't open the scan科尔多瓦插件条形码扫描仪不打开扫描
【发布时间】: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


【解决方案1】:

首先你可以用firebug检查你在firefox中的代码,看看它是否给出了一些可以让你这样做的错误,或者你可以尝试其他库,即intelXDK

document.addEventListener("intel.xdk.device.barcode.scan",function(evt){});

【讨论】:

  • 我用萤火虫试试这个应用程序。当我单击按钮时,firebug 返回错误“cordova.plugins.barcodeScanner.scan 未定义”。你知道为什么吗?我包括barcodescanner.js 和cordova.js,以及jquery 和jquery mobile 等其他js。可能是什么问题?非常感谢。
【解决方案2】:

如果是 Android,您必须将该功能添加到 config.xml,如下所示:

<feature name="BarcodeScanner">
    <param name="android-package" value="com.phonegap.plugins.barcodescanner.BarcodeScanner" />
</feature>

【讨论】:

    猜你喜欢
    • 2018-11-09
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多