SharedWorkerGlobalScope: connect イベント
connect
イベントは、新しいクライアントが接続したときに共有ワーカーの SharedWorkerGlobalScope
に発生します。
バブリング | なし |
---|---|
キャンセル可能 | いいえ |
インターフェイス | MessageEvent |
イベントハンドラープロパティ | SharedWorkerGlobalScope.onconnect (en-US) |
例
この例は共有ワーカーファイルを示しています。メインスレッドから MessagePort
を通して Worker へのコネクションが発生したとき、 onconnect
イベントハンドラーが呼び出されます。イベントオブジェクトは MessageEvent
です。
接続しようとしているポート番号は、イベントオブジェクトの ports
引数で参照することができます。この参照にはポートを通じて来るメッセージを扱うために割り当てられた onmessage
ハンドラーがあり、その postMessage()
メソッドに Worker を使用してメインスレッドにメッセージを送り返すために使用することができます。
self.onconnect = function(e) {
var port = e.ports[0];
port.onmessage = function(e) {
var workerResult = 'Result: ' + (e.data[0] * e.data[1]);
port.postMessage(workerResult);
}
port.start();
}
実行している例を完成させるには、 Basic shared worker example (共有ワーカーを実行) をご覧ください。
addEventListener による同等の処理
addEventListener()
メソッドを使用してイベントハンドラーを設定することもできます。
self.addEventListener('connect', function(e) {
var port = e.ports[0];
port.onmessage = function(e) {
var workerResult = 'Result: ' + (e.data[0] * e.data[1]);
port.postMessage(workerResult);
}
});
仕様書
仕様書 | 状態 |
---|---|
HTML Living Standard connect event の定義 |
現行の標準 |
ブラウザーの互換性
BCD tables only load in the browser