SharedWorkerGlobalScope: connect-Ereignis
Baseline
2026
Neu verfügbar
Seit May 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Das connect-Ereignis wird in Shared Workers bei ihrem SharedWorkerGlobalScope ausgelöst, wenn ein neuer Client sich verbindet.
Dieses Ereignis ist nicht abbruchfähig und verbreitet sich nicht in der Ereigniskette.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("connect", (event) => { })
onconnect = (event) => { }
Ereignistyp
Ein MessageEvent. Erbt von Event.
Beispiele
Dieses Beispiel zeigt eine Shared Worker-Datei – wenn eine Verbindung zum Worker von einem Hauptthread über einen MessagePort hergestellt wird, wird der onconnect-Ereignishandler ausgelöst. Das Ereignisobjekt ist ein MessageEvent.
Der verbindende Port kann über den ports-Parameter des Ereignisobjekts referenziert werden; diese Referenz kann einen onmessage-Handler angefügt bekommen, um Nachrichten zu bearbeiten, die über den Port hereinkommen, und seine postMessage()-Methode kann verwendet werden, um Nachrichten vom Worker an den Hauptthread zurückzusenden.
self.onconnect = (e) => {
const port = e.ports[0];
port.onmessage = (e) => {
const workerResult = `Result: ${e.data[0] * e.data[1]}`;
port.postMessage(workerResult);
};
port.start();
};
Für ein vollständiges, laufendes Beispiel siehe unser Einfaches Shared Worker-Beispiel (run shared worker.)
Gleichwertig zu addEventListener
Sie könnten auch einen Ereignishandler mit der addEventListener()-Methode einrichten:
self.addEventListener("connect", (e) => {
const port = e.ports[0];
port.onmessage = (e) => {
const workerResult = `Result: ${e.data[0] * e.data[1]}`;
port.postMessage(workerResult);
};
});
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-workerglobalscope-connect> |
| HTML> # handler-sharedworkerglobalscope-onconnect> |