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

ストレージ領域内の全てのアイテムを削除します。

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
local
clear
get
Supports empty key
getBytesInUse
onChanged
remove
Supports empty key
set

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Example extensions

メモ: この API は Chromium の chrome.storage API に基づいています。また、このドキュメントは storage.jsonにおける Chromium のコードに基づいています。Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。