MessagePort
インターフェイスの start()
メソッドは、ポート上のキューに置かれたメッセージの送信を開始します。このメソッドは、EventTarget.addEventListener
を使用する場合のみ必要になります。これは、MessageChannel.onmessage
を使用する場合は包含されています。
註: この機能は Web Workers 内で利用可能です。
構文
port.start()
戻り値
無効。
引数
なし。
例
次のコードブロックには、handleMessage
ハンドラ関数があり、onmessage
を使用して、メッセージがこのドキュメントに送り返された時に実行されます:
channel.port1.onmessage = handleMessage; function handleMessage(e) { para.innerHTML = e.data; }
補足: 完全に動作する例は、Github 上の チャンネルメッセージ送信の基本デモ を見てください (実際の動作も確認できます)。
これを行うもう一つの方法は、EventTarget.addEventListener
を使用します。しかし、このメソッドが使用された場合、明示的に start()
を呼び出してメッセージの送信を開始する必要があります:
channel.port1.addEventListener('message',handleMessage,false); function handleMessage(e) { para.innerHTML = e.data; textInput.value = ''; } channel.port1.start();
仕様
仕様書 | 策定状況 | 備考 |
---|---|---|
WHATWG HTML Living Standard start() の定義 |
現行の標準 | HTML5 Web Messaging との差異なし。 |
HTML5 Web Messaging start() の定義 |
勧告 | 仕様の W3C バージョン。 |
ブラウザの実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
基本サポート | 4 | 未サポート | 10.0 | 10.6 | 5 |
Worker 内で利用可能 | (有) | 41 (41) | (有) | (有) | (有) |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
基本サポート | 4.4 | 4 | 未サポート | 未サポート | 10.0 | 11.5 | 5.1 |
Worker 内で利用可能 | (有) | (有) | 41.0 (41) | (有) | (有) | (有) | (有) |