我第一次加载我的cordova应用程序时,第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会调用该设备,为什么当我通过浏览器返回页面时它会使用'dud'方式?
答案 0 :(得分:0)
这看起来是版本1.5或更早版本。在最近的版本中,deviceReady的加载和触发发生了显着变化。