Моя всплывающая страница расширения получает данные из сообщения с песочной страницы & скриптов. Мне нужно сохранить это в chrome.storage, предпочтительно используя метод storage.sync. Я получаю эту ошибку: Uncaught TypeError: Не удается прочитать свойство «синхронизации» неопределеннойКак использовать расширение chrome.storage
Я уже добавил разрешения для хранения внутри моей manifest.json.
... "разрешение": [ "хранение"], ... chrome.storage.sync undefined?
Google alsostates что ни Backgroud сценария не требуется: https://developer.chrome.com/extensions/storage
Цитирование: сценарии содержания вашего расширения может напрямую доступ к пользовательским данным без необходимости создания справочной страницы.
Что я имею в виду? Заранее спасибо!
function receiveMessage(event) {
var data = event.data;
saveToStorage(data);
};
window.addEventListener("message", receiveMessage, false);
function saveToStorage(data)
{
if (!data) {
console.log('Error: No value specified. Nothing saved to storage.');
return;
}
chrome.storage.sync.set({'data': data}, function() {
console.log('Data saved to storage.');
});
};
Вы обновили расширение после добавления нового разрешения? –
Ваш код верен, и вы сможете его использовать. Хотя с хранилищем 'sync', я бы рекомендовал проверить' chrome.runtime.lastError' из-за квот. – Xan
Также проверьте, перезагрузили ли вы расширение ** и ** страницу, содержащую ваш скрипт содержимого. – Xan