Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

SharedWorkerGlobalScope: connect-Ereignis

Baseline 2026
Neu verfügbar

Seit Mai 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 in deren SharedWorkerGlobalScope ausgelöst, wenn sich ein neuer Client verbindet.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

js
addEventListener("connect", (event) => { })

Alternativ können Sie der Event-Handler-Eigenschaft des Interfaces einen Wert zuweisen:

js
onconnect = (event) => { }

Ereignistyp

Ein MessageEvent. Erbt von Event.

Event MessageEvent

Beispiele

Dieses Beispiel zeigt eine Shared-Worker-Datei: Wenn über einen MessagePort eine Verbindung von einem Haupt-Thread zum Worker hergestellt wird, wird der onconnect-Event-Handler ausgelöst. Das Ereignisobjekt ist ein MessageEvent.

Auf den verbindenden Port kann über den ports-Parameter des Ereignisobjekts zugegriffen werden. Dieser Referenz kann ein onmessage-Handler zugewiesen werden, um über den Port eingehende Nachrichten zu verarbeiten. Mit ihrer postMessage()-Methode können über den Worker Nachrichten an den Haupt-Thread zurückgesendet werden.

Bei Verwendung der onconnect-Event-Handler-Eigenschaft (beachten Sie jedoch, dass dadurch gegebenenfalls andere mit onconnect hinzugefügte Event-Listener ersetzt werden):

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

Ein vollständiges, lauffähiges Beispiel finden Sie in unserem einfachen Shared-Worker-Beispiel (Shared Worker ausführen).

Verwendung von addEventListener()

Sie können einen Event-Handler auch mit der Methode addEventListener() einrichten:

js
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

Browser-Kompatibilität

Siehe auch