Ответ 1
Вы должны добавить разрешение "хранилище" в файл manifest.json, то есть:
...
"permissions": [
"storage"
],
...
Для получения дополнительной информации см. https://developer.chrome.com/extensions/storage
Я пытаюсь использовать хром-хранилище в расширении через content_script, но я продолжаю терпеть неудачу на
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);
});
}
Вы должны добавить разрешение "хранилище" в файл manifest.json, то есть:
...
"permissions": [
"storage"
],
...
Для получения дополнительной информации см. https://developer.chrome.com/extensions/storage
Если кто-то столкнулся с этой проблемой в Firefox, обратите внимание, что она еще не поддерживается:
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/storage#Chrome_incompatibilities
Для моих целей было достаточно заменить chrome.storage.sync
на chrome.storage.local
.
Что касается состояния реализации Firefox, возможно, стоит посмотреть и здесь время от времени:
У меня был ключ "permissions", добавленный в мой файл manifest
, но все же я изо всех сил старался сделать это исправленным.
После добавления разрешения: -
"permissions": [
"storage"
]
Перейдите к расширению с помощью: chrome://extensions/и нажмите кнопку "Обновить": -
См. https://developer.chrome.com/extensions/content_scripts.html:
Однако сценарии содержимого имеют некоторые ограничения. Они не могут:
Используйте хром. API (за исключением частей chrome.extension) *
(выделено курсивом)