MessageChannel: MessageChannel()-Konstruktor - Web-APIs | MDN
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.
Syntax
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
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.