我正在开发扩展程序,但我不想使用选项页面。我使用浏览器操作(图标显示在右上角),并通过该页面创建一些首选项,然后将它们存储在localStorage中。
但是,我的内容脚本需要读取localStorage,但我知道它无法访问它。我看着传递的信息,却无法达到我想要的效果。
我在这里尝试过:
popup.js
$(document).ready(function(){
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if (request.method == "getList")
sendResponse({status: localStorage['list']});
else
sendResponse({}); // snub them.
});
});
content.js
$(document).ready(function(){
var p;
chrome.extension.sendRequest({method: "getList"}, function(response) {
p = response.status;
alert(response.status);
});
});
答案 0 :(得分:6)
弹出窗口是短暂的,意味着代码仅在弹出窗口打开时存在。这意味着你的听众将会迷失。
将您的监听器代码从popup.html移至background page,然后这应该可以正常工作。