初めてcordovaアプリをロードすると、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がデバイスレディを呼び出す2つの方法があり、ブラウザに戻ってページに到達したときに「dud」方法を使用するのはなぜですか?