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.
onconnect = function() { ... };
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).
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
onconnect |
4 |
79 |
29 |
No |
10.6 |
No |
≤37 |
18 |
29 |
11 |
No |
1.0 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SharedWorkerGlobalScope/onconnect