10

クロスデバイス モバイル アプリケーションに jQueryMobile と phoneGap を使用しています。ユーザーが作業したレコードを永続化するために、html 5 ローカル ストレージを使用します。

アプリケーションのシャットダウンの直前にどの phoneGap イベントをキャッチすればよいかわからないため、シャットダウンが完了する前にデータが保存されていることを確認できます。

naughtur からの提案に基づいて、unload イベントと beforeunload イベントの両方を試しましたが、どちらもアプリのシャットダウン中に発生しませんでした。以下は私のコードスニップです:

function persistTasks(){
    alert ("is unloading the app");
    offlineTasklist.set("tasks", tasklist); 
}

function init() {
    document.addEventListener("unload", persistTasks, false);
    login();
}

$(document).ready(init);
4

2 に答える 2

7

unload イベントの使用については 100% 確信が持てません。技術的には (これが PhoneGap で発生するかどうかは不明です)、別の Web ページをロードするとき、つまり PhoneGap アプリ内で index.html から about.html に移動するときにも発生する可能性があるためです。

少なくとも Android では、イベントの再開一時停止にアクセスできます。したがって、次のことができます。

document.addEventListener('pause', function() { alert('this alert will show up in the background while your app is paused.'); }, false);
document.addEventListener('resume', function() { alert('this alert will show up when you open the app back up.'); }, false);
于 2011-01-13T18:23:29.470 に答える
1

このunloadイベントはすでに Android と Blackberry で利用可能で、まもなくすべてのプラットフォームに実装される予定です。

ここでコメントを参照してください: http://phonegap.lighthouseapp.com/projects/20118-android/tickets/67-missing-event-for-application-shut-down

于 2011-01-13T20:17:13.210 に答える