第一次加载我的科尔多瓦应用程序时,第 130 行的断点(请参阅附图)被击中。它调用 deviceready 委托函数,一切都很好。
我导航到另一个页面,然后当我执行 window.history.back()(返回到原始页面)时,deviceready 事件以不同的方式触发(参见 135 上的断点)。没有 DeviceInfo 使 Cordova “不可用”。请注意以下来自 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'方式?