11

我试图在BlackBerry设备中为Cordova使用BarcodeScanner插件,但没有运气。的代码使得采用这种结构:window.plugins在cordova-2.0.0中未定义

window.plugins.BarcodeScanner... 

window.pluginsundefined

我试着用一个新的新应用程序,并且window.plugins仍然是undefined(我的意思是,没有任何附加的示例应用程序)。

api是否已经更改,文档已过时,或者有什么我不见了?

谢谢!

+0

注意,目前的语法是完全不同的:http://community.phonegap.com/nitobi/topics/_barcodescanner_plugin_upgrading_scanner_javascript_api_code_changes_required – Nux 2013-06-21 16:17:09

+1

“这个问题是不太可能有帮助的任何未来的访客”;怎么会有9票和7689观点? – Spiff 2013-10-23 18:10:15

回答

3

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

+0

你的意思是,只需调用'window.BarcodeScanner'? – ivowiblo 2012-07-23 15:40:06

+0

是的,这就是为我工作。如果你'console.log(窗口)'你应该看到'BarcodeScanner' – d2uX 2012-07-23 16:07:53

+0

没有工作。 'window.BarcodeScanner'也是'undefined'。 – ivowiblo 2012-07-23 20:28:12

8

Cordova 2.0已删除BarcodeScanner插件使用的“addPlugin”方法。所以速战速决是删除(或注释掉)用于添加插件“addConstructor”功能,并使用显式连接到窗口对象替换:

//cordova.addConstructor(function() { 
// cordova.addPlugin('barcodeScanner', new BarcodeScanner()); 
//}); 

window.barcodeScanner = new BarcodeScanner(); 

而且,由于“window.plugins “不用,你也将需要改变调用的代码‘扫描’的方法,所以用

window.barcodeScanner.scan(... 

更换

window.plugins.barcodeScanner.scan(... 

我与科尔多瓦2.0测试这和它的作品。

+0

但是当我打电话给**窗口的时候。barcodeScanner.scan(... **有时它调用我的插件,有些时候不是.......你可以告诉我为什么吗?并给我** window.barcodeScanner.scan [undefined]不是函数** – 2012-08-08 06:45:06

+0

需要您的代码样本来帮助诊断您的问题 – dogatonic 2012-08-20 18:37:50

0

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

感谢大家!