расширение chrome chrome.storage.local настройки по умолчанию - PullRequest
0 голосов
/ 18 февраля 2019

Я разрабатываю расширение Chrome для своего рабочего места, и у меня есть ряд параметров по умолчанию, которые создаются в chrome.storage.local после установки с использованием события chrome.runtime.onInstalled.

Однако яЯ уверен, что это означает, что всякий раз, когда я нажимаю новую версию расширения, настройки пользователя будут перезаписаны значениями по умолчанию.Я нашел метод Object.assign, который выглядит так, как будто он может решить эту проблему, но я не могу понять, как проверить мой код, не прибегая к фактическому обновлению расширения .

Деинсталляция распакованной версииэтого расширения, похоже, вызывает разрушение его ключей chrome.storage.local (я могу ошибаться по этому поводу), поэтому я не могу проверить после переустановки, сохранит ли оно какие-либо ранее измененные параметры.

Мой текущий код "onInstalled" выглядит примерно так:

chrome.runtime.onInstalled.addListener(function() {
    chrome.storage.local.get(["options"], function(r){

        let defaults = {
            option1: 2000,
            option2: true,
            option3: false,
            option4: ""
        },
        current = r.options,
        newSettings = Object.assign(defaults,current);

        chrome.storage.local.set({
            options: newSettings
        });
    });
});

Один дополнительный вопрос: необходимо ли указывать пространство имен для моих параметров или chrome.storage.local настроен так, чтобы настройки с тем же именем вразные расширения не будут мешать друг другу?

...