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 android'项目已存在'或运行时错误