HTML5 中的 MessageChannel 和 MessagePort 对象是什么?
在创建messageChannel时,它在内部创建了两个端口来发送数据并将其转发到另一个浏览上下文。
postMessage()−发布消息抛出通道
start()-它发送数据
close()-它关闭端口
在这种情况下,我们将数据从一个iframe发送到另一个iframe。这里我们在函数中调用数据并将数据传递给DOM。
示例
var loadHandler = function(){
var mc, portMessageHandler;
mc = new MessageChannel();
window.parent.postMessage('documentAHasLoaded','http://foo.example',[mc.port2]);
portMessageHandler = function(portMsgEvent){
alert(portMsgEvent.data);
}
mc.port1.addEventListener('message', portMessageHandler, false);
mc.port1.start();
}
window.addEventListener('DOMContentLoaded', loadHandler, false);