BroadcastChannel: postMessage() メソッド
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年3月.
メモ: この機能はウェブワーカー内で利用可能です。
postMessage() は BroadcastChannel インターフェイスのメソッドで、任意の種類の Object のメッセージを、同じオリジンを持つ任意の閲覧コンテキスト内の各リスナーに送信します。 メッセージは、チャンネルに結び付けられた各 BroadcastChannel を対象とした message イベントとして送信されます。
構文
js
postMessage(message)
引数
message-
他のウィンドウに送信するデータ。データは構造化複製アルゴリズムを使用してシリアライズされます。 つまり、様々なデータオブジェクトを自分でシリアライズすることなく、安全に出力先のウィンドウに渡すことができます。
メモ: 相互にメッセージを送信できる実行コンテキストは、同じエージェントクラスターに属していない場合があり、そのためメモリーを共有できません。
SharedArrayBufferオブジェクト、またはそれをバックエンドとするバッファービューは、エージェントクラスター間で送信できません。送信しようとすると、受信側でDataCloneErrorDOMExceptionを含むmessageerrorイベントが発生します。
返値
なし。
例外
InvalidStateErrorDOMException-
BroadcastChannelが既に閉じられている場合に発生します。 DataCloneErrorDOMException-
入力データの一部がシリアライズできない場合に発生します。
仕様書
| Specification |
|---|
| HTML> # dom-broadcastchannel-postmessage-dev> |
ブラウザーの互換性
関連情報
BroadcastChannel: 所属するインターフェイス。