我正在为Firefox编写一个浏览器扩展程序,它使用IndexedDB来保存本地数据。当浏览器关闭时,我想将最新数据写入我的IndexedDB。但是,IndexedDB完全是异步的,似乎Firefox在异步写入完成之前关闭。 (我可以看到正在创建数据库文件,并且在浏览器关闭时丢弃日记文件。)有没有办法在Firefox关闭时可靠地完成异步操作?
答案 0 :(得分:0)
您可以使用eventlistener(您可能已经将它写入数据库)来监听窗口关闭事件和preventDefault,直到您完成存储事物,然后关闭回调窗口。< / p>
window.addEventListener("close", function(e) {
e.preventDefault();
//Save your things
//Call window.close on the callback
window.close();
}, false);
stackoverflow上还有一个different question可能有更好的方法来监听应用程序关闭而不是关闭窗口。但过程也是类似的。