在关闭popup-chrome扩展时将数据保存到chrome.storage.sync

时间:2016-09-03 20:34:49

标签: javascript jquery google-chrome google-chrome-extension

我尝试了很多方法,但在关闭弹出窗口之前/之前没有触发事件监听器。 您可能会在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);

我只想在用户关闭弹出窗口时保存一些数据。就是这样。

1 个答案:

答案 0 :(得分:0)

它有问题所以你必须做一些变通办法。

您必须从后台页面保存数据,因此您需要从弹出窗口将数据传递给它。

使用chrome.runtime.connect连接两者。建立了一个端口:每当您要从弹出窗口保存的数据发生变化时,您都可以Port.postMessage()到您的背景页。

当弹出窗口关闭时,Port.onDisconnect将会触发,您的数据就可以同步了。