PhoneGap で奇妙な動作が見られます。OnDeviceReady は起動しますが、「デバイス」変数を使用しようとすると、まだ定義されていません。私はこれに話しかけるいくつかのコードを見つけ、実際に変数を使用するために setTimeout を使用して 1 秒待機する (再び、準備ができたと表示された後) と述べました (以下)。
setTimeout(function () {
MobileDevice = new MobiDevice(device);
}, 1000);
これは最初は機能しているように見えましたが、現在は時間が不確定のようです。最近、タイムアウトを 5000 に上げる必要がありました。これが現在のコードです。
setTimeout(function () {
console.log("starting setup");
try {
MobileDevice = new MobiDevice(device);
console.log("created MobiDevice from a real device");
}
catch (error) {
console.log("no device reference - mocking device");
var d = {
platform: "Android",
version: 5
};
MobileDevice = new MobiDevice(d);
}
console.log("device setup complete");
}, 5000);
実際に時間が不確定である場合、これを回避するために他の人が使用した戦略は何ですか. 不確定ではない場合、修正を探すことができる領域はどこですか。
前もって感謝します