Spec-Zone.ru › Web Extensions

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API