BroadcastChannel
BroadcastChannel インターフェイスは、特定のオリジンの閲覧コンテキストが加入できる名前付きチャンネルを表します。これにより、同じオリジンの異なる文書間(異なるウィンドウ、タブ、フレーム、iframe)の通信を可能にします。 メッセージは、チャンネルに参加しているすべての BroadcastChannel オブジェクトで発生する message イベントを介して配信されます。
EventTarget BroadcastChannel
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 54 | 79 | 38 | 15.4 | 54 | 15.4 | |
| BroadcastChannel() コンストラクターは、新しい BroadcastChannel を作成し、それを基礎となるチャンネルに接続します。 | 54 | 79 | 38 | 15.4 | 54 | 15.4 |
| close() は BroadcastChannel インターフェイスのメソッドで、基礎となるチャンネルへの接続を終了し、オブジェクトをガベージコレクションできるようにします。 このチャンネルがもう必要ないことをブラウザーが知る他の方法はないので、これを行うのに必要なステップです。 | 54 | 79 | 38 | 15.4 | 54 | 15.4 |
| message は BroadcastChannel インターフェイスのイベントで、メッセージがそのチャンネルに到着したときに発生します。 | 54 | 79 | 38 | 15.4 | 54 | 15.4 |
| messageerror は BroadcastChannel インターフェイスのイベントで、シリアル化の解除ができないメッセージがチャンネルに到着したときに発生します。 | 60 | 79 | 57 | 15.4 | 60 | 15.4 |
| name は BroadcastChannel インターフェイスの読み取り専用のプロパティで、指定されたチャンネルをその名前で一意に識別する文字列を返します。 この名前は作成時に BroadcastChannel.BroadCastChannel コンストラクターに渡されるため、読み取り専用です。 | 54 | 79 | 38 | 15.4 | 54 | 15.4 |
| postMessage() は BroadcastChannel インターフェイスのメソッドで、任意の種類の Object のメッセージを、同じoriginを持つ任意のbrowsing context内の各リスナーに送信します。 メッセージは、チャンネルに結び付けられた各 BroadcastChannel を対象とした BroadcastChannel/message_event イベントとして送信されます。 | 54 | 79 | 38 | 15.4 | 54 | 15.4 |
実務での使いどころ
-
BroadcastChannel の活用
BroadcastChannel インターフェイスは、特定のオリジンの閲覧コンテキストが加入できる名前付きチャンネルを表します。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。