我尝试了很多方法,但在弹出窗口关闭时/之前没有触发任何事件监听器。
您可能会在 SO 上找到相关问题,但对我来说没有任何作用。
这是我尝试过的:
chrome.runtime.onSuspend.addListener(function hello() {
chrome.storage.sync.set({
'somedata': 'mydata1' // didn't work
}, function() {});
});
addEventListener("unload", function(event) {
chrome.storage.sync.set({
'somedata': 'mydata2' // didn't work
}, function() {});
}, true);
我只想在用户关闭弹出窗口时保存一些数据。仅此而已。
最佳答案
它有问题,所以你必须采取解决方法。
您必须保存后台页面的数据,因此您需要从弹出窗口将数据传递给它。
使用chrome.runtime.connect
连接两者。建立端口:每当您要从弹出窗口保存的数据发生更改时,您都可以 Port.postMessage()
到您的后台页面。
当弹出窗口关闭时,Port.onDisconnect
将触发,您的数据将准备好同步。
关于javascript - 关闭弹出窗口时将数据保存到 chrome.storage.sync - chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39311102/