1つ以上のアイテムをストレージ領域に保存または上書きします。

この API を使用して保存や上書きをする場合、storage.onChanged イベントが発火します。

この関数は Promise を返す非同期関数です。

構文

let settingItem = browser.storage.<storageType>.set(
  keys             // オブジェクト
)

<storageType>storage.sync または storage.local の書き込み可能なストレージタイプです。

Parameters

keys

保存したい1つ以上のキー/値ペアを持つオブジェクトを指定します。アイテムが既に存在する場合、値は上書きされます。

値は primitive 型 (整数型・ブール型・文字列) または配列 を指定でできます。

通常は他の型 (Function, Date, RegExp, Set, Map, ArrayBuffer  など)は格納できません。これらのサポートされていない型の中には空のオブジェクトとして復元されたり、 set() がエラーをスローする場合があります。この場合の挙動はブラウザに依存します。

返り値

成功時は引数の無い Promise を返します。 失敗した場合 promise はエラーメッセージと共にリジェクトされます。

ブラウザ実装状況

ChromeEdgeFirefoxFirefox for AndroidOpera
基本対応 あり141454833

1. storage is limited to 1MB per value.

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)
}

// オブジェクトを2つ定義
var monster = {
  name: "Kraken",
  tentacles: true,
  eyeCount: 10
}

var kitten = {
  name: "Moggy",
  tentacles: false,
  eyeCount: 2
}

// オブジェクト2つを格納
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 は Chromium の chrome.storage APIに基づいています。また、このドキュメントは storage.json における Chromium のコードに基づいています。

ドキュメントのタグと貢献者

このページの貢献者: takubokudori
最終更新者: takubokudori,