web-dev-qa-db-ja.com

chrome.storage.syncは未定義ですか?

Content_scriptを介して、拡張機能でchromeストレージを使用しようとしていますが、失敗し続けます

Uncaught TypeError: Cannot read property 'sync' of undefined 

これは私のコードです:

testChromeStorage();

function testChromeStorage() {  
    console.log("Saving");
    chrome.storage.sync.set({'value': theValue}, function() {
        message('Settings saved');
    });
    chrome.storage.sync.get("value", function (retVal) {
            console.log("Got it? " + retVal.value);
    });
}
42
Yossale

Manifest.jsonファイルに「ストレージ」権限を追加する必要があります。つまり:

...
  "permissions": [
    "storage"
  ],
...

詳細については、以下を参照してください: https://developer.chrome.com/extensions/storage

88
sfarbota

拡張機能をリロードする

manifestファイルに「permissions」キーを追加しましたが、これを修正するのに苦労しました。

許可を追加した後:-

"permissions": [
    "storage"
 ]

Chrome:// extensions /を使用して拡張機能に移動し、[再読み込み]ボタンをクリックします。

enter image description here

7
Rahul Singh

Firefoxでこの問題に誰かが直面した場合、まだサポートされていないことに注意してください。

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/storage#Chrome_incompatibilities

私の目的では、chrome.storage.sync 沿って chrome.storage.local

Firefoxの実装状態については、時々ここを参照する価値があります。

http://arewewebextensionsyet.com/#storage

2
kabeleced