ストレージイベントを使用したページ間の通信を実装するサンプルコード
この記事では、Storage Event を使用してページ間通信を実現するためのサンプルコードに関する情報を中心に紹介します。必要な方は参考にしていただければ幸いです。
window.onstorage をトリガーするには、次の 2 つの条件を満たす必要があることは誰もが知っています:
-
localStorage.setItem または sessionStorage.setItem を通じて特定のストレージを保存 (更新) する
このストレージを保存 (更新) するとき、その新しい値は以前の値とは異なる必要があります
上記の 2 番目の条件は、簡単に言うと次のとおりです。ストレージが存在しないため、その値が null であるため、ストレージの初期化であるか、既存のストレージの更新であるかのいずれかです。
例:
// 初始化storage window.localStorage.setItem('a', 123); // 注册onstorage事件 window.onstorage = (e) => { console.log(e); }; // 更新storage window.localStorage.setItem('a', 123);
上記のコードの最後の行は、 Onstorage イベントをトリガーしません。 a の値が変化していないため、前後で 123 であるため、ブラウザーはこの更新が無効であると判断します。
onstorage イベントはブラウザーによってトリガーされるため、複数のファイルを開いた場合ページの下に同じドメイン名のページを配置し、いずれかのページで window.localStorage.setItem メソッドを実行します (記事の冒頭で説明した 2 番目の条件が満たされていることも確認します)。その後、他のページが onstorage イベントをリッスンするかどうかを確認します。 、これらのページの onstorage イベント コールバックが実行されます
例:
// http://www.example.com/a.html <script> // 注册onstorage事件 window.onstorage = (e) => { console.log(e); }; </script>
// http://www.example.com/b.html <script> // 注册onstorage事件 window.onstorage = (e) => { console.log(e); }; </script>
// http://www.example.com/c.html <script> // 触发onstorage事件 window.localStorage.setItem('a', new Date().getTime()); </script>
a ページと b ページの後に c ページが開かれている限り (3 つのページが開いていなくても)同じブラウザ ウィンドウの場合、ウィンドウとタブ ページを区別する必要があります) 違い)、ページ a とページ b の onstorage イベントがトリガーされます
これで、ストレージ イベントを使用して通信を実現する方法がわかりました。ページ間で、このコミュニケーションは私たちにとって何の役に立つのでしょうか?
実際に必要なのは、どのストレージ更新操作が onstorage イベントをトリガーしたかを知ることだけです。 onstorage イベント コールバックは、他のイベント コールバック関数と同様に、イベント オブジェクト パラメーターも受け取ります。このオブジェクトには、次の 3 つの便利なプロパティがあります。
key は初期化または更新されます。 キー名。ストレージの
- #oldValue は、ストレージが初期化または更新される前の値です。
- newValue は、ストレージが初期化または更新された後の値です
Html5 ビデオ チュートリアルをご覧ください。
関連する推奨事項:以上がストレージイベントを使用したページ間の通信を実装するサンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP8.0 のイベント処理ライブラリ: Event インターネットの継続的な発展に伴い、PHP は人気のバックエンド プログラミング言語として、さまざまな Web アプリケーションの開発に広く使用されています。このプロセスでは、イベント駆動のメカニズムが非常に重要な部分になっています。 PHP8.0 のイベント処理ライブラリ Event は、より効率的で柔軟なイベント処理メソッドを提供します。イベント処理とは何ですか? イベント処理は、Web アプリケーションの開発において非常に重要な概念です。イベントは任意の種類のユーザー行にすることができます

Steam のサマー セールは、これまでいくつかの最高のゲームの割引を主催してきましたが、今年は Valve によるさらなるホームランが積み重なっているようです。 Steam サマーセールの割引ゲームの一部を紹介するトレーラー (以下をご覧ください) がリリースされました。

保存フォルダーはファイル管理にあります。検索方法: 1. 携帯電話のデスクトップを直接開き、[システム ツール] をクリックして入力します。 2. ファイル管理を選択してジャンプします。 3. すべてのファイルを参照します。 4. ファイル内の保存フォルダーを検索します。管理。 。

Pygame のイベント モジュール Event (Event) は Pygame の重要なモジュールの 1 つで、一般的に使用されるマウス クリック、キーボード タップ、ゲーム ウィンドウの移動、ウィンドウのサイズ変更、特定のプロットのトリガー、終了など、ゲーム プログラム全体を構築する核心です。 . ゲームなど、これらは「イベント」とみなすことができます。イベントタイプ Pygame は、イベントを処理するために特別に使用される構造、つまりイベントキューを定義します。この構造は、キューの「早い者勝ち」の基本原則に従います。イベントキューを通じて、ユーザーの操作を順序立てて一度に処理できます。 -by-one方式(トリガーイベント)。次の表は、Pygame で一般的に使用されるゲーム イベントのリストです。 名前 説明 QUIT ユーザーがウィンドウの閉じるボタンを押した ATIVEEVENTPy

Steam のサマー セールは、これまでいくつかの最高のゲームの割引を主催してきましたが、今年は Valve によるさらなるホームランが積み重なっているようです。 Steam サマーセールの割引ゲームの一部を紹介するトレーラー (以下をご覧ください) がリリースされました。

window.outerWidth イベントと window.outerHeight イベントを使用して、ブラウザのサイズが変更されたときの JavaScript のウィンドウ サイズを取得します。例 次のコードを実行して、イベントを使用してブラウザのウィンドウ サイズを確認してみることができます -<!DOCTYPEhtml><html> <head> <script>&am

SessionStorage の概要: その用途と利点を理解するには、具体的なコード例が必要です。 はじめに: Web 開発では、多くの場合、ユーザー情報と一時データを保存および管理する必要があります。この問題を解決するために、HTML5 では新しい API、SessionStorage が導入されました。この記事では、SessionStorage の概念、使用法、利点を紹介し、読者が SessionStorage をよりよく理解できるようにいくつかの具体的なコード例を示します。 1.セッションストレージとは何ですか?

当初、テスラは以前にリークされたロボタクシーを今年8月に発表すると予想されていたが、最高経営責任者(CEO)のイーロン・マスクは、ロボタクシーの前面の美的変更と直前の準備に追加の時間が必要であることを理由にイベントを延期した。
