ATTN PhoneGap/Cordova 项目贡献者:以 2 种不同方式调用 deviceready 回调的问题

Posted

技术标签:

【中文标题】ATTN PhoneGap/Cordova 项目贡献者:以 2 种不同方式调用 deviceready 回调的问题【英文标题】:ATTN PhoneGap/Cordova project contributors: Issue with deviceready callback being called in 2 distinct ways 【发布时间】:2012-06-06 06:41:24 【问题描述】:

我第一次加载我的科尔多瓦应用程序时,第 130 行的断点(请参阅附图)被击中。它调用 deviceready 委托函数,一切都很好。

我导航到另一个页面,然后当我执行 window.history.back()(返回到原始页面)时,deviceready 事件以不同的方式触发(参见 135 上的断点)。没有使 Cordova “不可用”的 DeviceInfo。请注意以下来自 cordova.js 的摘录:

Cordova.available = DeviceInfo.uuid != undefined;

这也意味着,即使我正在等待 deviceready 事件调用 Cordova.exec,它也总是会失败。这是cordova.js的另一个摘录,说明了原因。

Cordova.exec = function()  
    if (!Cordova.available) 
        alert("ERROR: Attempting to call Cordova.exec()"
              +" before 'deviceready'. Ignoring.");
        return;
    

所以我的问题是;为什么cordova有两种方式调用deviceready,为什么当我通过浏览器返回页面时它使用'dud'方式?

【问题讨论】:

【参考方案1】:

这看起来是 1.5 或更早的版本。在最近的版本中,deviceReady 的加载和触发发生了显着变化。

【讨论】:

非常好 - 升级到 1.8 后不再出现此“错误”。谢谢。

以上是关于ATTN PhoneGap/Cordova 项目贡献者:以 2 种不同方式调用 deviceready 回调的问题的主要内容,如果未能解决你的问题,请参考以下文章

我需要在cordova/phonegap项目的所有html文件中添加app.initialize()吗

重命名后新的 PhoneGap / Cordova iOS 项目将无法运行

Phonegap Cordova 插件在构建时删除

Phonegap cordova android'项目已存在'或运行时错误

eclipse / Android上的Cordova phonegap

Phonegap/Cordova 代码在构建时不断重置