【问题标题】:window.plugins undefined in cordova-2.0.0 [closed]在cordova-2.0.0中未定义的window.plugins [关闭]
【发布时间】:2012-07-23 13:13:57
【问题描述】:

我正在尝试在 BlackBerry 设备中使用 Cordova 的 BarcodeScanner 插件,但没有成功。示例代码使用了这种结构:

window.plugins.BarcodeScanner...

window.pluginsundefined

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

api 是否已更改,文档是否已过时或缺少某些内容?

谢谢!

【问题讨论】:

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


【解决方案1】:

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 对此进行了测试,它可以工作。

【讨论】:

  • 但是当我调用 window.barcodeScanner.scan(... 有时它会调用我的插件,有时不会......你能告诉我为什么?并告诉我 window.barcodeScanner.scan[undefined]is not a function
  • 需要您的代码示例来帮助诊断您的问题。
【解决方案2】:

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

【讨论】:

  • 你的意思是,打电话给window.BarcodeScanner?
  • 是的,这对我有用。如果你console.log(window) 你应该看到BarcodeScanner
  • 没用。 window.BarcodeScanner 也是 undefined
  • 不修改插件本身的任何内容: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
【解决方案3】:

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

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

【讨论】:

  • 谢谢!有什么想法可以在黑莓上使用吗?
  • 最后一次更改是在 2 个月前。也许有一个待处理的拉取请求。
  • 对不起,我在度假。它说最后一次更改是在 13 天前对我来说,那是在我起飞之前。
【解决方案4】:

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

谢谢大家!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多