storage.local
local
ストレージ領域を指します。local
ストレージ内のアイテムはその拡張機能がインストールされたマシン内で利用できます。
ブラウザーは拡張機能がローカルストレージエリアに保存できるデータ量を制限します。
- Chrome では、この API を使用して、"unlimitedStorage"パーミッションを許可しない場合は 5MB まで保存できます。
- Firefox ではバージョン 56 以降で"unlimitedStorage"パーミッションを利用できます。保存できるデータ量は現在では制限していませんが、将来的には制限するため、もし大きなデータ量を保存するのであれば"unlimitedStorage"パーミッションを今から使用するとよいでしょう。
拡張機能をアンインストールすると、関連するローカルストレージは削除されます。
また Firefox では、"about:config"で"keepUuidOnUninstall"と"keepStorageOnUninstall"の設定をtrue
にすることで、アンインストール時にデータが削除されることを防ぐことができます。 この機能は拡張機能開発のテストのために提供されています。拡張機能自身ではこれらの設定を変更できません。
この API は Window.localStorage
に似ていますが、拡張機能のコード内でWindow.localStorage
を使用することは推奨されません。これはユーザーがプライバシーのために履歴とデータを削除するなど、Firefox は localStorage API を用いて拡張機能が保存したデータを削除することがあるためです。
関数
local
オブジェクトはstorage.StorageArea
型で定義された関数を実装しています。
storage.StorageArea.get()
-
ストレージ領域から 1 つ以上のアイテムを取得します。
storage.StorageArea.getBytesInUse()
-
1 つ以上のストレージ領域内に格納されたアイテムが占めるストレージ空間をバイト単位で取得します。
storage.StorageArea.set()
-
1 つ以上のアイテムをストレージ領域に格納します。既にアイテムが存在していれば値は上書きされます。 値を格納したとき
storage.onChanged
イベントが発火します。 storage.StorageArea.remove()
-
ストレージ領域内の 1 つ以上のアイテムを削除します。
storage.StorageArea.clear()
-
ストレージ領域内の全てのアイテムを削除します。
ブラウザーの互換性
BCD tables only load in the browser
Example extensions
メモ:
この API は Chromium の chrome.storage
API に基づいています。また、このドキュメントは storage.json
における Chromium のコードに基づいています。Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。