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