1

IndexedDB を使用してローカル データを保存する Firefox 用のブラウザー拡張機能を作成しています。ブラウザーが閉じたら、最新のデータを IndexedDB に書き出したいと思います。ただし、IndexedDB は完全に非同期であり、非同期書き込みが完了する前に Firefox が閉じているようです。(ブラウザを閉じると、データベース ファイルが作成され、ジャーナリング ファイルが破棄されるのがわかります。) Firefox を閉じるときに非同期操作を確実に完了する方法はありますか?

4

1 に答える 1

0

イベントリスナー (データベースに書き込むために既に持っている可能性があります) を使用して、ウィンドウを閉じるイベントをリッスンし、物事の保存が終了してからコールバックでウィンドウを閉じるまでpreventDefaultを使用できます。

window.addEventListener("close", function(e) {
    e.preventDefault(); 
    //Save your things
    //Call window.close on the callback
    window.close();
}, false);

ウィンドウを閉じるのではなく、アプリケーションを閉じるのをリッスンするより良い方法があるかもしれないstackoverflowに関する別の質問もあります。しかし、プロセスは似ています。

于 2013-07-27T22:45:41.003 に答える