--- title: StorageArea.set() slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set tags: - API - Add-ons - Extensions - Method - Non-standard - Reference - Storage - StorageArea - WebExtensions - set translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set ---
1つ以上のアイテムをストレージ領域に保存または上書きします。
この API を使用して保存や上書きをする場合、{{WebExtAPIRef("storage.onChanged")}} イベントが発火します。
この関数は Promise を返す非同期関数です。
let settingItem = browser.storage.<storageType>.set( keys // オブジェクト )
<storageType> は storage.sync または storage.local の書き込み可能なストレージタイプです。
keys保存したい1つ以上のキー/値ペアを持つオブジェクトを指定します。アイテムが既に存在する場合、値は上書きされます。
値は primitive 型 (整数型・ブール型・文字列) または配列 を指定でできます。
通常は他の型 (Function, Date, RegExp, Set, Map, ArrayBuffer など)は格納できません。これらのサポートされていない型の中には空のオブジェクトとして復元されたり、 set() がエラーをスローする場合があります。この場合の挙動はブラウザに依存します。
成功時は引数の無い Promise を返します。 失敗した場合 promise はエラーメッセージと共にリジェクトされます。
{{Compat("webextensions.api.storage.StorageArea.set")}}
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);
{{WebExtExamples}}
この API は Chromium の chrome.storage APIに基づいています。また、このドキュメントは storage.json における Chromium のコードに基づいています。