Расширение chrome chrome.storage.local настройки по умолчанию

Я разрабатываю расширение 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 настроен так, чтобы настройки с одинаковыми именами в разных расширениях не мешали друг другу?

0 ответов

Другие вопросы по тегам