Ich bin verwirrt mit postMessage
und MessageChannel
.In PostMessage und MessageChannel stecken
Hier sind einige Codes von MDN:
var channel = new MessageChannel();
var para = document.querySelector('p');
var ifr = document.querySelector('iframe');
var 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;
}
Ich dachte postMessage
Methode nur zwei Argumente nehmen, die Codes über die zeigen, dass es drei nehmen kann, aber es gibt nichts über die dritte Argument der postMessage
Methode.
So gibt es meine Fragen:
Was ist der Sinn des dritten Argument der
postMessage
Methode?ich die Verwendung von
MessageChannel
wissen, aber es scheint nutzlos, Warum/Wann sollten wir MessageChannel benutzen?
löste alle meine Verwirrung, Danke für das Teilen! – huachengzan