BroadcastChannel
BroadcastChannel は、同一オリジンの閲覧コンテキスト(タブ、Worker)が名前付きチャネルを通じてメッセージを配信できるようにする。
目的
同一オリジンのタブや Worker 間でメッセージを配信し、SharedWorker や storage イベントなしにタブ間同期を実現する。
メカニズム
new BroadcastChannel(name) で名前付きチャネルに参加し、postMessage が同じチャネルの他の全インスタンスへ配信し、onmessage で受け取る。同一オリジン限定で、クロスオリジンでは利用できない。
ユースケース
- クロスタブの同期
- 状態のブロードキャスト
- 同一オリジン内の通信