MessageChannel.port1
port1
は MessageChannel
インターフェースの読み取り専用プロパティで、メッセージチャンネルの最初のポートを返します。このポートは、チャンネルの元となるコンテキストに付属します。
注: この機能は Web Worker 内で利用可能です
構文
channel.port1;
値
チャンネルの最初のポートを表す MessagePort
オブジェクト。これはチャンネルの元となるコンテキストに付属するポートです。
例
次のコードブロックでは、 MessageChannel()
コンストラクターを使用して作成された新しいチャンネルが見られます。 <iframe>
が読み込まれると、 MessageChannel.port2
を <iframe>
へ、メッセージを通して MessagePort.postMessage
を使用して渡します。すると、 handleMessage
ハンドラーが <iframe>
から返送されたメッセージに (MessagePort.onmessage
を使用して) 返答し、これを段落に挿入します。メッセージが到着したとき、 handleMessage
メソッドが port1
に関連付けられて待ち受けします。
js
var channel = new MessageChannel();
var para = document.querySelector("p");
var ifr = document.querySelector("iframe");
var otherWindow = ifr.contentWindow;
ifr.addEventListener("load", iframeLoaded, false);
function iframeLoaded() {
otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
仕様書
Specification |
---|
HTML Standard # dom-messagechannel-port1-dev |
ブラウザーの対応
BCD tables only load in the browser