HTML5 中浏览上下文之间的双向通信
浏览上下文之间的双向通信称为信道消息传递。它适用于跨多个来源的通信。
在创建 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);
广告