现在我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)
谢谢你的帮助!
我的Chrome扩展程序显示了.mp3文件链接列表,我需要获取每个元素的比特率.我该怎么计算呢?
UPDATE
解决了它.