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 に従っています。