コンテンツへスキップ
uencoder

MessageChannel

MessageChannel は結合された MessagePort のペアを作る。両端は port.postMessage で双方向に通信でき、オリジンをまたいで渡すこともできる。

目的

Worker、iframe、コンテキスト間メッセージングに双方向の非同期通信チャネルを提供する。

メカニズム

new MessageChannel() が port1 と port2 を作る。一方が port1 を、他方が port2 を保持する(postMessage で転送)。各ポートは onmessage で受信し postMessage で送信する。

ユースケース

  • Workerとの双方向通信
  • iframeとの通信
  • 非同期メッセージチャネル

関連ツール

References