1

マッピング ページで使用する Chrome 拡張機能を作成しています。ユーザーがマップにログインすると、多くの変数がデータベースからマップに渡されます。

拡張機能を開いたときに、これらの変数を拡張機能に渡す方法はありますか? 私はLocalStorageについて考えていました:

テストとして、マップページのHTMLでこれを試しました

if (typeof(Storage)!=="undefined") {
localStorage.setItem("firstname", "hello");
localStorage.setItem("lastname", "world");
}  

そして、私が試した拡張コンテンツで

alert('My name is ' + localStorage.getItem("firstname") + ' ' +
localStorage.getItem("lastname"));

マップ ページ開発者ツールの localstorage の下に変数が表示されます。しかし、拡張機能には別のセットが表示されます。

拡張機能がこれらを読み取れないようです。これらを送信する方法はありますか、それとも別の方法が必要ですか?

4

1 に答える 1

1

あなたが望むのは、クロムでのメッセージパッシングだと思います。この記事を参照してくださいhttps://developer.chrome.com/extensions/messaging.html

基本はこんな感じになります

chrome.extension.getLocal({method: "getLocalStorage", key: "status"}, function(response) {
  console.log(response.data);
});

.

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    if (request.method == "getLocal"){
      sendResponse({data: localStorage[request.key]});
    }else{
      sendResponse({}); }
});

ローカル ストレージではなくクロム ストレージの使用を検討することもできます http://developer.chrome.com/extensions/storage.html

于 2013-10-18T13:49:59.123 に答える