Попытка использовать google.storage.sync.set внутри google.runtime.onStartup не имеет никакого эффекта - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь создать расширение Chrome с разрешением 'background', то есть оно продолжает работать в фоновом режиме, даже если окно Chrome закрыто. Однако, если пользователь также завершает работу с Chrome в фоновом режиме, я хочу сбросить некоторые значения в chrome.storage до значений по умолчанию. Я думал, что создание прослушивателя для события onStartup будет работать, где я затем сброслю эти значения. Тем не менее, это не работает. По какой-либо причине chrome.storage.sync.set не работает должным образом при обратном вызове onStartup .

При проверке журнала я всегда вижу «Запуск», поэтому, насколько я могу судить, он определенно работает без проблем, хотя, если я позже проверю значения, они останутся такими же, как и до полного закрытия Chrome.

Я уже проверил свой код, чтобы увидеть, не изменилось ли значение где-то еще, но, похоже, это не проблема. Конечно, я пытался комментировать все остальное, но это все равно не работает.

Вот код, который у меня есть сейчас (он находится в моем единственном файле background.js).

chrome.runtime.onStartup.addListener(function() {
    chrome.storage.sync.set({
        desc: '',
        timer: -1
    }, function () {
        console.log("Startup");
    });
});

chrome.runtime.onInstalled.addListener(function() {
    chrome.storage.sync.set({
        desc: '',
        timer: -1
    }, function () {
        console.log("Installed");
    });
});

Для ясности, вот пример внутри моего файла popup.js, где значение «desc» изменяется в зависимости от ввода пользователя. Все, что здесь написано, это значение, которое остается даже после запуска onStartup , чего не ожидается:

i_text_pom.oninput = function() {
    chrome.storage.sync.set({desc: i_text_pom.value}, function () {
        console.log("Uus desc on: " + i_text_pom.value);
    });
};

Я ожидал, что переменная хранения 'desc' будет просто пустым скриптом, но после перезапуска chrome он останется таким же, как и до полного перезапуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...