Получение нескольких элементов из хранилища Chrome?

У меня есть 4 предмета, которые я хотел бы получить, но я не уверен, как разделить ключи. Использование запятой дает ошибку. Вот пример моего использования:

chrome.storage.sync.get({
    'customImage',
    'customColor',
    'customRandColor',
    'customRandImage'
  }, function(backgroundCheckedOptions) {
    document.getElementById('optionsCustomImage').checked = backgroundCheckedOptions.customImage;
    document.getElementById('optionsBackgroundColor').checked = backgroundCheckedOptions.customColor;
    document.getElementById('optionsRandomColor').checked = backgroundCheckedOptions.customRandColor;
    document.getElementById('optionsRandomImage').checked = backgroundCheckedOptions.customRandImage;
  });

Я бы предположил, что они будут разделены запятой, но я думаю, что нет.

1 ответ

Решение

Из документации Chrome Storage говорится:

StorageArea.get (строка или массив строк или ключей объекта, обратный вызов функции)

Проще всего было бы передать массив, заменив {} с []

Согласно официальной документации, это будет так, как показано ниже.

chrome.storage.sync.get([
 'customImage',
 'customColor',
 'customRandColor',
 'customRandImage'
], function(backgroundCheckedOptions) {
 document.getElementById('optionsCustomImage').checked = backgroundCheckedOptions.customImage;
 document.getElementById('optionsBackgroundColor').checked = backgroundCheckedOptions.customColor;
 document.getElementById('optionsRandomColor').checked = backgroundCheckedOptions.customRandColor;
 document.getElementById('optionsRandomImage').checked = backgroundCheckedOptions.customRandImage;
});
Другие вопросы по тегам