MessagePort: start() メソッド

Baseline Widely available

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

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

start()MessagePort インターフェイスのメソッドで、ポート上のキューに置かれたメッセージの送信を開始します。このメソッドは、EventTarget.addEventListener を使用する場合のみ必要になります。MessagePort.message_event を使用する場合は暗黙に実行されます。

構文

js
start()

返値

なし。

引数

なし (undefined)。

次のコードブロックには、handleMessage ハンドラー関数があり、onmessage を使用して、メッセージがこのドキュメントに送り返された時に実行されます:

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

これを行うもう一つの方法は、EventTarget.addEventListener を使用します。しかし、このメソッドが使用された場合、明示的に start() を呼び出してメッセージの送信を開始する必要があります:

js
channel.port1.addEventListener("message", handleMessage, false);
function handleMessage(e) {
  para.innerHTML = e.data;
  textInput.value = "";
}

channel.port1.start();

仕様書

Specification
HTML Standard
# dom-messageport-start-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報