← 返回首页
MessageChannel: MessageChannel()-Konstruktor - Web-APIs | MDN

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

View in English Always switch to English

MessageChannel: MessageChannel()-Konstruktor

Baseline Weitgehend verfügbar

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

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Der MessageChannel()-Konstruktor der MessageChannel-Schnittstelle gibt ein neues MessageChannel-Objekt mit zwei neuen MessagePort-Objekten zurück.

In diesem Artikel

Syntax

js
new MessageChannel()

Parameter

Keine (undefined).

Rückgabewert

Ein neues MessageChannel-Objekt.

Beispiele

Im folgenden Codeblock sehen Sie, wie ein neuer Kanal mit dem MessageChannel()-Konstruktor erstellt wird. Wenn das <iframe> geladen ist, übergeben wir port2 an das <iframe> unter Verwendung von MessagePort.postMessage zusammen mit einer Nachricht. Der handleMessage-Handler reagiert dann auf eine Nachricht, die vom <iframe> zurückgesendet wird (unter Verwendung von onmessage) und fügt diese in einen Absatz ein. Auf den port1 wird gelauscht, um zu prüfen, wann die Nachricht ankommt.

js
const channel = new MessageChannel(); const para = document.querySelector("p"); const ifr = document.querySelector("iframe"); const otherWindow = ifr.contentWindow; ifr.addEventListener("load", iframeLoaded); function iframeLoaded() { otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]); } channel.port1.onmessage = handleMessage; function handleMessage(e) { para.innerHTML = e.data; }

Für ein vollständiges funktionierendes Beispiel, siehe unser Kanal-Messaging-Grundlagen-Demo auf GitHub (testen Sie es auch live).

Spezifikationen

Spezifikation
HTML
# dom-messagechannel-dev

Browser-Kompatibilität

JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.

Siehe auch