2

我正在开发一个扩展,我不想使用选项页面。我使用浏览器操作(图标出现在右上角),并且通过该页面进行了一些偏好设置,并将它们存储在 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.
        });
});

内容.js

$(document).ready(function(){
    var p;
    chrome.extension.sendRequest({method: "getList"}, function(response) {
        p = response.status;
        alert(response.status);
    });
});
4

1 回答 1

6

弹出窗口是短暂的,这意味着代码仅在弹出窗口打开的时间内存在。这意味着你的听众会迷路。

将您的侦听器的代码从您的 popup.html 移动到背景页面,然后这应该可以正常工作。

于 2011-06-07T12:18:01.693 回答