javascript - phonegap angularjs 条码扫描器

标签 javascript angularjs cordova cordova-plugins

我在 visual studio 中有这个解决方案,我正在其中创建一个 cordova 项目。我还安装了 ngCordova 和 phonegap-plugin-barcodescanner 插件。

我已经注入(inject)了 ngCordova 并实现了这个功能:

$scope.scan = function() {

   $cordovaBarcodeScanner.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);
  });

};

但它失败了: cordova.plugins 未定义

我错过了什么??

最佳答案

Cordova 插件只能在真实设备或模拟器上运行。

scan() 方法返回一个 promise :

$cordovaBarcodeScanner
  .scan()
  .then(function(barcodeData) {
    // Success! Barcode data is here
    console.log(barcodeData);
  }, function(error) {
    // An error occurred
    console.log(error);
  });

如果您想测试在浏览器中运行的应用程序,您可以使用这样的模拟:

if (!window.cordova){
  window.cordova = {
    plugins: {
      barcodeScanner: {
        scan: function (success, error) {
          var code = window.prompt("Enter barcode value (empty value will fire the error handler):");
          if(code) {
            var result = {
              text:code,
              format:"Fake",
              cancelled:false
            };
            success(result);
          } else {
            error("No barcode");
          }
        }
      }
    }
  };
}

关于javascript - phonegap angularjs 条码扫描器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36993584/

相关文章:

javascript - Phonegap 3.7.0 手电筒插件不起作用

javascript - 如何使用express nodejs上传图像文件并显示

javascript - 使用 JavaScript 翻转硬币

javascript - 在 AngularJS + WebAPI 中使用 $http

angularjs - Angular UI Bootstrap 模块未关闭后退按钮

javascript - 在 AngularJS 中使用带有 promise 的闭包

css - 全屏背景图像和切换标题的可见性

javascript - Grails 中具有一个域类的依赖下拉菜单

javascript - 如何获取连接访问者到我网站的 IP 地址/位置,并向我显示他们的地址?

android - 在 Android 系统浏览器中打开 swf 而不是在 Phonegap 中