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 (en-US)イベントが発火します。
storage.StorageArea.remove()
ストレージ領域内の1つ以上のアイテムを削除します。
storage.StorageArea.clear()
ストレージ領域内の全てのアイテムを削除します。

ブラウザ互換状況

BCD tables only load in the browser

Example extensions

Acknowledgements

このAPIはChromiumの chrome.storage APIに基づいています。また、このドキュメントは storage.jsonにおける Chromium のコードに基づいています。

Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。