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.
        });
});

content.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 からbackground pageに移動すると、正常に動作するはずです。

于 2011-06-07T12:18:01.693 に答える