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 回答