SharedWorkerGlobalScope: connect イベント

connect イベントは、新しいクライアントが接続したときに共有ワーカーの SharedWorkerGlobalScope に発生します。

バブリング なし
キャンセル可能 いいえ
インターフェイス MessageEvent
イベントハンドラープロパティ SharedWorkerGlobalScope.onconnect

この例は共有ワーカーファイルを示しています。メインスレッドから 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 の定義
現行の標準

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
connect eventChrome 完全対応 1Edge ? Firefox 完全対応 29
補足
完全対応 29
補足
補足 Before version 65 the data property of the event object was null; it is now initialized to an empty string, as per spec.
IE 未対応 なしOpera 完全対応 10.6Safari 未対応 なしWebView Android 完全対応 ありChrome Android 完全対応 18Edge Mobile ? Firefox Android 完全対応 29
補足
完全対応 29
補足
補足 Before version 65 the data property of the event object was null; it is now initialized to an empty string, as per spec.
Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, chrisdavidmills, mdnwebdocs-bot, silverskyvicto
最終更新者: mfuji09,