Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年9月.
メモ: この機能はウェブワーカー内で利用可能です。
postMessage() は MessagePort インターフェイスのメソッドで、ポートからのメッセージを送信します。任意で、オブジェクトの所有権を他の閲覧コンテキストへ転送します。
チャンネル経由で送信するメッセージ。これはいずれかの基本データ型です。複数のデータアイテムを配列として送信できます。
transfer 省略可オプションで、所有権を委譲する移譲可能オブジェクトの配列。これらのオブジェクトの所有権は出力先に移動され、送信側ではそれらを使用できなくなります。これらの移譲可能オブジェクトはメッセージに添付する必要があります。そうでない場合、移動はされますが、受信側では実際にアクセスできなくなります。
options 省略可オプションで、以下のプロパティを持つオブジェクトです。
transfer 省略可transfer 引数と同じ意味です。
なし (undefined)。
次のコードブロックでは、MessageChannel() コンストラクターで新しいチャンネルを作成しています。IFrame が読み込まれた時、MessageChannel.port2 が window.postMessage メソッドによってメッセージとともに IFrame へ渡されます。すると、handleMessage が onmessage によって IFrame から返されたメッセージに応答し、そのメッセージを段落に出力します。ここで、MessageChannel.port1 は、メッセージが到着したときに確認するための待機状態にあります。
完全に動作する例は、Github 上の チャンネルメッセージ送信の基本デモ を見てください (実際の動作も確認できます)。
| HTML # dom-messageport-postmessage-dev |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2024年8月22日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.