StorageArea.set()
Хранит одну или несколько элементов в области хранилища или обновляет существующие элементы.
При сохранении или обновлении значения с помощью этого API, сработает событие storage.onChanged.
Обратите внимание, что при хранении элементов в области хранилища sync, браузер накладывает квоты на количество данных, которые может хранить каждое расширение. См. Квоты хранилища для синхронизированных данных.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let settingItem = browser.storage.<storageType>.set( keys // object )
<storageType> будет одним из типов хранилища для записи — storage.sync или storage.local.
Параметры
keys-
Объект, содержащий одну или несколько пар ключ/значение, которые будут сохранены в хранилище. Если элемент уже существует, его значение будет обновлено.
Значения могут быть примитивными (такими как число, булево значение или строка),
ArrayилиObjectтипов.В целом, хранение других типов, таких как
Function,Date,RegExp,Set,Map,ArrayBuffer, и так далее, невозможно. Некоторые из этих неподдерживаемых типов будут восстановлены как пустой объект, а некоторые вызовутset()с ошибкой. Точное поведение в данном случае зависит от браузера.
Возвращаемое значение
A Promise, который будет выполнен без аргументов, если операция прошла успешно. Если операция завершилась неудачно, обещание будет отклонено с сообщением об ошибке.
Совместимость с браузером
| Рабочий стол | Мобильный | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
set |
Да | 14хранилище ограничено до 1 МБ на значение. |
45 | ? | 33 | 14 | ? | ? | 48 | ? | 15 | ? |
Примеры
function setItem() { console.log("OK"); } function gotKitten(item) { console.log(`${item.kitten.name} has ${item.kitten.eyeCount} eyes`); } function gotMonster(item) { console.log(`${item.monster.name} has ${item.monster.eyeCount} eyes`); } function onError(error) { console.log(error) } // define 2 objects let monster = { name: "Kraken", tentacles: true, eyeCount: 10 } let kitten = { name: "Moggy", tentacles: false, eyeCount: 2 } // store the objects browser.storage.local.set({kitten, monster}) .then(setItem, onError); browser.storage.local.get("kitten") .then(gotKitten, onError); browser.storage.local.get("monster") .then(gotMonster, onError);
Примечание: Этот API основан на API chrome.storage Chromium. Эта документация получена из storage.json в коде Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set