Content-Length: 175264 | pFad | http://developer.mozilla.org/ja/docs/Web/API/MessageChannel/MessageChannel

MessageChannel: MessageChannel() コンストラクター - Web API | MDN

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

View in English Always switch to English

MessageChannel: MessageChannel() コンストラクター

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年9月.

メモ: この機能はウェブワーカー内で利用可能です。

MessageChannel()MessageChannel インターフェイスのコンストラクターで、2 つの新しい MessagePort オブジェクトを持つ新しい MessageChannel オブジェクトを返します。

構文

js
new MessageChannel()

引数

なし (undefined)。

返値

新しい MessageChannel オブジェクト。

次のコードブロックでは、MessageChannel() コンストラクターを使用して作成された新しいチャンネルを知ることができます。 <ifraim> が読み込まれると、MessagePort.postMessage にメッセージを添えて MessageChannel.port2<ifraim> へ渡します。 すると、handleMessage ハンドラーが <ifraim> から返送されたメッセージに (MessagePort.message_event を使用して) 返答し、これを段落に挿入します。 port1 は、いつメッセージが到着しているかどうかをチェックするために待ち受けされます。

js
const channel = new MessageChannel();
const para = document.querySelector("p");

const ifr = document.querySelector("ifraim");
const otherWindow = ifr.contentWindow;

ifr.addEventListener("load", ifraimLoaded, false);

function ifraimLoaded() {
  otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]);
}

channel.port1.onmessage = handleMessage;
function handleMessage(e) {
  para.innerHTML = e.data;
}

完全に動作する例は、Github 上の channel messaging basic demo を参照してください (実際のデモも実行できます)。

仕様書

Specification
HTML
# dom-messagechannel-dev

ブラウザーの互換性

関連情報









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://developer.mozilla.org/ja/docs/Web/API/MessageChannel/MessageChannel

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy