小编Chr*_*mer的帖子

如何同步到内容脚本中的扩展本地存储?

现在我chrome.extension.sendMessage在内容脚本和chrome.extension.onMessage.addListener后台脚本中使用。但是当我需要实时同步到扩展的本地存储时出现问题(扩展弹出窗口中有几个带有选项的复选框)。

带有复选框的弹出窗口(以控制 content-script.js 选项)-> 存储在扩展本地存储中的复选框状态。

内容脚本需要知道用户在弹出窗口中所做的更改 -> 向后台页面发送请求以访问扩展的本地存储密钥。

后台页面 -> 向内容脚本发送响应 -> 回调函数将所有密钥从扩展的本地存储复制到 Web 本地存储。

内容脚本读取复制的密钥并打开/关闭它的选项。

但是这个过程不是实时的,我需要它是被动的。

内容脚本.js:

chrome.extension.sendMessage({
    name: "cache"
},
function(response) {
    var status = response.url;
    if (status == 'enabled') {
        localStorage['cache'] = 'enabled';
    }
    if (status == 'disabled') {
        localStorage['cache'] = 'disabled';
    }
}
);
Run Code Online (Sandbox Code Playgroud)

后台.js:

chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
    console.log("request recieved is " + request);
    if (request.name == "cache") {
        sendResponse({
            url: JSON.parse(localStorage['cache']).status
        });
    } else {}
}
);
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

javascript google-chrome-extension

1
推荐指数
1
解决办法
2088
查看次数

有可能获得mp3的比特率吗?

我的Chrome扩展程序显示了.mp3文件链接列表,我需要获取每个元素的比特率.我该怎么计算呢?

UPDATE

解决了它.

javascript google-chrome-extension

-2
推荐指数
1
解决办法
2527
查看次数