window.plugins未定义在cordova-2.0.0中

时间:2012-07-23 13:13:57

标签: cordova barcode-scanner phonegap-plugins blackberry-webworks

我试图在没有运气的BlackBerry设备中使用Cordova的BarcodeScanner插件。示例代码使用了这种结构:

window.plugins.BarcodeScanner...

window.pluginsundefined

我尝试了一个全新的应用程序,window.plugins仍然是undefined(我的意思是,示例应用程序没有任何添加)。

api是否已经改变,文档已经过时或者我缺少什么?

谢谢!

4 个答案:

答案 0 :(得分:8)

Cordova 2.0删除了BarcodeScanner插件使用的“addPlugin”方法。因此,快速解决方法是删除(或注释掉)用于添加插件的“addConstructor”函数,并将其替换为对窗口对象的显式附件:

//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进行了测试,但它确实有效。

答案 1 :(得分:3)

刚遇到同样的问题。在查看窗口对象后,我发现BarcodeScanner就在那里。 所以window.BarcodeScanner.prototype.scan(result, error)做了伎俩。 确保你等待cordova完全初始化,否则你可能会像has no method exec()

那样

答案 2 :(得分:2)

所有,我今天早上推出了一款适用于2.0.0的新BarcodeScanner。

https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner/2.0.0

答案 3 :(得分:0)

最后,我使用了cordova 1.9.0,因为插件还不是最新的。

感谢大家!