1

第一次加载我的科尔多瓦应用程序时,第 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'方式?

4

1 回答 1

0

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

于 2012-06-06T20:46:17.803 回答