このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 オブジェクト、またはそれをバックエンドとするバッファービューは、エージェントクラスター間で送信できません。送信しようとすると、受信側で DataCloneError DOMExceptionを含む messageerror イベントが発生します。

返値

なし。

例外

InvalidStateError DOMException

BroadcastChannel が既に閉じられている場合に発生します。

DataCloneError DOMException

入力データの一部がシリアライズできない場合に発生します。

仕様書

Specification
HTML
# dom-broadcastchannel-postmessage-dev

ブラウザーの互換性

関連情報