MessageChannel: port2-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: Diese Funktion ist in Web Workers verfügbar.
Die port2
Schreibgeschützte-Eigenschaft des MessageChannel
-Interfaces gibt den zweiten Port des Nachrichtenkanals zurück — den Port, der mit dem Kontext am anderen Ende des Kanals verbunden ist und an den die Nachricht ursprünglich gesendet wird.
Wert
Ein MessagePort
-Objekt, das den zweiten Port des Kanals repräsentiert, den Port, der mit dem Kontext am anderen Ende des Kanals verbunden ist.
Beispiele
Im folgenden Codeblock sehen Sie, wie ein neuer Kanal mithilfe des MessageChannel()
-Konstruktors erstellt wird. Wenn das IFrame geladen ist, übergeben wir port2
zusammen mit einer Nachricht an das IFrame mittels Window.postMessage()
. Der handleMessage
-Handler antwortet dann auf eine Nachricht, die vom IFrame zurückgesendet wird (unter Verwendung von onmessage
), indem er sie in einen Absatz einfügt. port1
wird überwacht, um zu prüfen, wann 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);
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 Grundlegendes Demo zur Kanalnachrichtenübermittlung auf GitHub (führen Sie es auch live aus).
Spezifikationen
Specification |
---|
HTML> # dom-messagechannel-port2-dev> |
Browser-Kompatibilität
Loading…