我尝试在黑莓设备上使用Cordova的BarcodeScanner插件,但没有成功。示例代码使用了这个结构:
window.plugins.BarcodeScanner...
但是window.plugins
是undefined
。
我尝试了一个全新的应用程序,window.plugins
仍然是undefined
(我的意思是没有添加任何内容的示例应用程序)。
API是否已更改且文档已过时,或者我缺少某些东西?
谢谢!我尝试在黑莓设备上使用Cordova的BarcodeScanner插件,但没有成功。示例代码使用了这个结构:
window.plugins.BarcodeScanner...
但是window.plugins
是undefined
。
我尝试了一个全新的应用程序,window.plugins
仍然是undefined
(我的意思是没有添加任何内容的示例应用程序)。
API是否已更改且文档已过时,或者我缺少某些东西?
谢谢!Cordova 2.0移除了BarcodeScanner插件中使用的"addPlugin"方法。因此,一个快速的修复方法是删除(或注释掉)用于添加插件的"addConstructor"函数,并将其替换为对window对象的显式附加:
//cordova.addConstructor(function() {
// cordova.addPlugin('barcodeScanner', new BarcodeScanner());
//});
window.barcodeScanner = new BarcodeScanner();
然后,由于没有使用“window.plugins”,您还需要更改调用“scan”方法的代码,因此请替换
window.plugins.barcodeScanner.scan(...
使用
window.barcodeScanner.scan(...
我已经使用Cordova 2.0测试过这个功能,它是可行的。
我遇到了同样的问题。在查看window对象后,我发现BarcodeScanner就在那里。
因此,window.BarcodeScanner.prototype.scan(result, error)
解决了问题。
请确保等待cordova完全初始化,否则可能会出现has no method exec()
之类的错误。
window.BarcodeScanner
吗? - Ivoconsole.log(window)
,你应该能看到 BarcodeScanner
。 - d2uXwindow.BarcodeScanner
也是 undefined
。 - IvoBarcodeScanner __proto__: Object constructor: function () { encode: function (type, data, successCallback, errorCallback, options) { scan: function (successCallback, errorCallback) { __proto__: Object
- d2uX大家好,今天早上我发布了一个新的条形码扫描器,可以与2.0.0版本兼容。
https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner/2.0.0
最终,我使用了cordova 1.9.0,因为插件尚未更新。
感谢大家!