javascript - 关闭弹出窗口时将数据保存到 chrome.storage.sync - chrome 扩展

标签 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);

我只想在用户关闭弹出窗口时保存一些数据。仅此而已。

最佳答案

它有问题,所以你必须采取解决方法。

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

使用chrome.runtime.connect连接两者。建立端口:每当您要从弹出窗口保存的数据发生更改时,您都可以 Port.postMessage() 到您的后台页面。

当弹出窗口关闭时,Port.onDisconnect 将触发,您的数据将准备好同步。

关于javascript - 关闭弹出窗口时将数据保存到 chrome.storage.sync - chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39311102/

相关文章:

javascript - JQuery $(document).ready(function () 不工作

html - 如何为 Chrome 扩展程序提供多种语言

css - Chrome 开发工具 - 如何将 "styles"和 "computed"标签合并在一起?

javascript - FadeIn 不适用于 FireFox/Internet Explorer

javascript - Bootstrap4 JQuery 响应选项卡工作不正确,提供了代码片段

javascript - 如何制作一个下拉框(选择元素)来接受html中的文本搜索?

javascript - 刷新页面并突出显示表记录时保持相同的单击复选框结果

javascript - 使用 jquery 在单击按钮时加载 html 文件时遇到困难

google-chrome - Chrome开发人员工具-浏览器大小?

javascript - 获取特定 anchor 标记的文本