Window: storage イベント
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年4月.
storage イベントは、保存領域 (localStorage) が変更されたときに発生します。詳しくはウェブストレージ API をご覧ください。
メモ: これは変更を行ったのと同じページでは動作しません。本来、これは同じ保存領域を使用している同じドメインの他のページが更新を同期するための仕組みです。他のドメインのページは、同じ保存領域オブジェクトにはアクセスできません。
構文
このイベント名を addEventListener() などのメソッドで使うか、イベントハンドラープロパティを設定するかしてください。
addEventListener("storage", (event) => {});
onstorage = (event) => {};
イベント型
StorageEvent です。 Event を継承しています。
イベントプロパティ
key読取専用-
変更されたキーを表す文字列を返します。 変更が発生したのがこのストレージの
clear()メソッドによるものであれば、key属性はnullになります。 newValue読取専用-
keyの新しい値を文字列で返します。 このストレージのclear()メソッドが呼び出されたり、そのkeyがストレージから削除されたりして変更が行われた場合は、この値はnullになります。 oldValue読取専用-
keyの元の値を文字列で返します。 そのkeyが新しく追加されたものであるため、以前の値が存在しない場合は、この値はnullになります。 storageArea読取専用-
変更が行われたストレージを表す
Storageオブジェクトを返します。 url読取専用-
keyを変更した文書の URL を文字列で返します。
イベントハンドラーの別名
Window インターフェイスに加え、イベントハンドラープロパティ onstorage は以下のターゲットでも利用可能です。
例
storage イベントが発生した時、項目 sampleList をコンソールに記録します。
window.addEventListener("storage", () => {
// ローカルストレージが変更された時、
// リストをコンソールに書き出す。
console.log(JSON.parse(window.localStorage.getItem("sampleList")));
});
onstorage イベントハンドラープロパティを用いても、同じことができます。
window.onstorage = () => {
// ローカルストレージが変更された時、
// リストをコンソールに書き出す。
console.log(JSON.parse(window.localStorage.getItem("sampleList")));
};
仕様書
| Specification |
|---|
| HTML> # event-storage> |
| HTML> # handler-window-onstorage> |
ブラウザーの互換性
Loading…