MessageChannel: port1 Eigenschaft
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.
Die schreibgeschützte Eigenschaft port1 der MessageChannel Schnittstelle gibt den ersten Port des Nachrichtenkanals zurück – den Port, der mit dem Kontext verbunden ist, der den Kanal gestartet hat.
Wert
Ein MessagePort Objekt, der erste Port des Kanals, der der Port ist, der mit dem Kontext verbunden ist, der den Kanal gestartet hat.
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> zusammen mit einer Nachricht mit Hilfe von MessagePort.postMessage. Der handleMessage-Handler reagiert dann auf eine Nachricht, die vom <iframe> zurückgesendet wird (unter Verwendung von onmessage), indem er sie in einen Absatz einfügt. Die handleMessage-Methode ist mit dem port1 assoziiert, um zuzuhören, wenn die Nachricht ankommt.
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;
}
Spezifikationen
| Spezifikation |
|---|
| HTML> # dom-messagechannel-port1-dev> |