1. Web
  2. Web-APIs
  3. ExtendableMessageEvent
  4. ports

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

View in English Always switch to English

ExtendableMessageEvent: ports Eigenschaft

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2018 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist nur in Service Workers verfügbar.

Die schreibgeschützte ports-Eigenschaft des ExtendableMessageEvent-Interfaces gibt das Array zurück, das die MessagePort-Objekte enthält, die die Ports des zugehörigen Nachrichtenkanals darstellen (der Kanal, über den die Nachricht gesendet wird).

Wert

Ein Array von MessagePort-Objekten.

Beispiele

Wenn der folgende Code innerhalb eines Service-Workers verwendet wird, um auf Push-Nachrichten zu reagieren, indem die empfangenen Daten über PushMessageData an den Hauptkontext über eine Nachrichtenkanal-Nachricht gesendet werden, ist das Ereignisobjekt von onmessage ein ExtendableMessageEvent.

js
let port;
self.addEventListener("push", (e) => {
 const obj = e.data.json();
 if (obj.action === "subscribe" || obj.action === "unsubscribe") {
 port.postMessage(obj);
 } else if (obj.action === "init" || obj.action === "chatMsg") {
 port.postMessage(obj);
 }
});
self.onmessage = (e) => {
 port = e.ports[0];
};

Spezifikationen

Spezifikation
Service Workers Nightly
# extendablemessage-event-ports

Browser-Kompatibilität

Siehe auch

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /