window.addEventListener("message",function (event){ //do something , false);
event对象有三个属性,分别是origin,data和source。
event.data表示接收到的消息;
event.origin表示postMessage的发送来源,包括协议,域名和端口;
event.source表示发送消息的窗口对象的引用;
1.A页面中包含一个iframe,iframe加载B页面(子窗体与父窗体通信)
A页面代码: window.addEventListener('message', function(e) { if (e.data.test=="Test") { alert(e.data.test); } }, false);
B页面代码: btnClick: function () { window.parent.postMessage({ test: "Test"}, "*"); //{ test: "Test" }为data属性,"*" 为origin属性 }
2.A页面中包含一个iframe,iframe加载B页面(父窗体与子窗体通信)
function btnClick() { document.getElementById("iframeContent").contentWindow.postMessage({ test: "Test"}); }; B页面代码: window.addEventListener('message', function(e) { if (e.data.test=="Test") { alert(e.data.test); } }, false);