问题 window.plugins undefined in cordova-2.0.0 [关闭]


我试图在没有运气的情况下在BlackBerry设备中使用Cordova的BarcodeScanner插件。示例代码使用此结构:

window.plugins.BarcodeScanner...

window.plugins 是 undefined

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

api是否已经改变,文档已经过时或者有些东西我不知道了?

谢谢!


6924
2017-07-23 13:13


起源

请注意,目前语法完全不同: community.phonegap.com/nitobi/topics/... - Nux
“这个问题不太可能帮助任何未来的访客;”怎么会有9票和7689的看法? - Spiff


答案:


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

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


2
2017-07-24 18:26



谢谢!什么时候可以用于BlackBerry? - ivowiblo
它现在可用于BB github.com/phonegap/phonegap-plugins/tree/master/BlackBerry/... - Simon MacDonald
真棒!我会检查一下! - ivowiblo
这是最后一次改变是2个月前。也许还有待处理的拉取请求。 - ivowiblo
对不起我在度假。它说13天前的最后一次改变对我来说就是在我起飞之前。 - Simon MacDonald


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


8
2017-07-23 22:48



但是,当我打电话的时候 window.barcodeScanner.scan(... 有时它会调用我的插件,有时候不会.......你能告诉我为什么吗?并给我 window.barcodeScanner.scan [undefined]不是函数 - Subrat nayak.
您需要使用代码示例来帮助诊断问题。 - dogatonic


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


3
2017-07-23 15:27



你的意思是,只是打电话 window.BarcodeScanner? - ivowiblo
是的,这对我有用。如果你 console.log(window) 你应该看到了 BarcodeScanner - d2uX
没工作。 window.BarcodeScanner 是 undefined 太。 - ivowiblo
没有修改插件本身的任何内容: var bcs = new window.BarcodeScanner(); console.log(bcs)  回报  BarcodeScanner __proto__: Object constructor: function () { encode: function (type, data, successCallback, errorCallback, options) { scan: function (successCallback, errorCallback) { __proto__: Object - d2uX
谢谢你d2ux帮了很多忙 - patil


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

谢谢大家!


0
2017-07-23 23:08