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