Расширение Chrome storage.sync.set в содержимом script исключает исключение

У меня странная проблема, которая потратила слишком много времени. У меня есть контент script, который пытается прочитать некоторые данные из API storage.sync, но он не работает.

Я добавил разрешение на хранение и я смог работать с API-интерфейсом storage.sync в файле options.js.

Можете ли вы определить, что пошло не так?

document.addEventListener('DOMContentLoaded', function () {   

     chrome.storage.sync.get([
            'var1',
            'var2',        
        ], function(items) {        
            alert("got it");
     });
}

Это сообщение об ошибке:

Контент CONTENT_SCRIPT для xxxxx). Ленивый запрос extension.binding не установил поле привязки

(контекст CONTENT_SCRIPT для xxxxx) extensions:: lastError: 82: Uncaught TypeError: Невозможно преобразовать undefined или null в объект {TypeError: Невозможно преобразовать undefined или null в объект     в Object.clear(extensions:: lastError: 82: 23)     at handleResponse (extensions:: sendRequest: 84: 15)     при восстановлении     в HTMLDocument.}

Ответ 1

У меня была такая же ошибка, и она была вызвана из-за отладчика, останавливающего поток выполнения в середине. Как только я удалил отладчик/точки останова в "Content Script" и "Background Script" и перезагрузил все, я не увидел ошибку.

Ответ 2

Я тоже получал такую ​​же ошибку. Я исправил его, отключив и повторно включив расширения браузера Chrome. Надеюсь, что это поможет.

Ответ 3

У меня была такая же проблема при вводе кода на страницу html. Использование нового идентификатора сразу после ввода их в страницу html, похоже, приводит к сбою отладчика, но не к самой странице. Все работает, и сообщение об ошибке появляется только после ввода кода. Похоже, что он исходил из кеша. Это только что произошло при обновлении страницы и никогда после очистки кеша... Извините, не очень полезно, но это то, что я имел и не мог воспроизвести.