SharedWorkerGlobalScope.onconnect

The onconnect property of the SharedWorkerGlobalScope interface is an event handler representing the code to be called when the connect event is raised — that is, when a MessagePort connection is opened between the associated SharedWorker and the main thread.

Syntax

onconnect = function() { ... };

Examples

This example shows a shared worker file — when a connection to the worker occurs from a main thread via a MessagePort, the onconnect event handler fires. The event object is a MessageEvent.

The connecting port can be referenced through the event object's ports parameter; this reference can have an onmessage handler attached to it to handle messages coming in through the port, and its postMessage() method can be used to send messages back to the main thread using the worker.

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();
}

For a complete running example, see our Basic shared worker example (run shared worker.)

Note: The data property of the event object used to be null in Firefox. As of version 65 it is now initialized to an empty string, as per spec (bug 1508824).

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'onconnect' in that specification.
Living Standard  

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
onconnectChrome Full support 4Edge ? Firefox Full support 29IE No support NoOpera Full support 10.6Safari No support NoWebView Android Full support YesChrome Android Full support 18Firefox Android Full support 29Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

See also