MessageChannel: port1-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die port1
schreibgeschützte Eigenschaft des MessageChannel
-Interfaces gibt den ersten Port des Nachrichtenkanals zurück — den Port, der an den Kontext angehängt ist, der den Kanal erzeugt hat.
Wert
Ein MessagePort
-Objekt, der erste Port des Kanals, das an den Kontext angehängt ist, der den Kanal erzeugt hat.
Beispiele
Im folgenden Codeblock sehen Sie, wie ein neuer Kanal mithilfe des MessageChannel()
-Konstruktors 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 antwortet dann auf eine Nachricht, die zurück vom <iframe>
gesendet wird (unter Verwendung von onmessage
), und fügt sie in einen Absatz ein. Die Methode handleMessage
ist mit dem port1
verbunden, um zu lauschen, wenn die Nachricht eintrifft.
const channel = new MessageChannel();
const para = document.querySelector("p");
const ifr = document.querySelector("iframe");
const otherWindow = ifr.contentWindow;
ifr.addEventListener("load", iframeLoaded, false);
function iframeLoaded() {
otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
Spezifikationen
Specification |
---|
HTML Standard # dom-messagechannel-port1-dev |
Browser-Kompatibilität
BCD tables only load in the browser