BroadcastChannel
インターフェイスは、特定のオリジンの閲覧コンテキストが購読できる名前付きチャネルを表します。 それは、同じオリジンの異なるドキュメント間(異なるウィンドウ、タブ、フレーム、iframe)の通信を可能にします。 メッセージは、チャンネルをリッスンしているすべての BroadcastChannel
オブジェクトで発生する message
イベントを介して放送されます。
註: この機能は Web Workers 内で利用可能です。
コンストラクタ
BroadcastChannel()
- 名前付きチャンネルにリンクするオブジェクトを作成します。
プロパティ
このインターフェイスは、その親である EventTarget
からもプロパティを継承します。
BroadcastChannel.name
- チャネルの名前である
DOMString
を返します。 -
イベントハンドラ
BroadcastChannel.onmessage
- このオブジェクトで
message
イベントが発生したときに実行する関数を指定するEventHandler
プロパティ。 BroadcastChannel.onmessageerror
EventHandler
は、MessageError
型のMessageEvent
が発生したとき、つまり逆シリアル化できないメッセージを受け取ったときに呼び出されます。
メソッド
このインターフェイスは、その親である EventTarget
からもメソッドを継承しています。
BroadcastChannel.postMessage()
- 同じチャンネルをリッスンしている各 BroadcastChannel オブジェクトに、任意の種類のオブジェクトのメッセージを送信します。
BroadcastChannel.close()
- チャネルオブジェクトを閉じます。 これは、新しいメッセージを取得しないことを示し、最終的にガベージコレクションされることを許可します。
イベント
message
- メッセージがチャネルに到着したときに発生します。
onmessage
プロパティからも利用できます。 messageerror
- 逆シリアル化できないメッセージが到着したときに発生します。
onmessageerror
プロパティからも利用できます。
仕様
仕様 | 状態 | コメント |
---|---|---|
HTML Living Standard BroadcastChannel の定義 |
現行の標準 | 初期定義 |
ブラウザーの互換性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
関連情報
- ブラウザコンテキスト間でやり取りするもう1つの、よりヘビー級の方法:
ServiceWorker
. - Broadcast Channel API の概要