您的位置:首页 > 其它

postMessage解决跨域下跨文档通信

2015-08-29 00:10 253 查看
postMessage方法可以向另外一个窗口发送消息,

该方法是window下的一个全局方法。用法:

首先找到新窗口的window的对象,然后调用postMessage方法,该方法接受两个参数,第一个参数为数据,第二个参数为打开的新窗口的域(带协议的)。例如:

oMyIframe.contentWindow.postMessage('1', 'http://www.b.com');


在被打开的新窗口里面,有一个message事件:当窗口接受到通过postMessage传递过来的数据时就会触发该事件!

接受到的数据可以通过ev.data获取到,发送数据的域可以通过ev.origin获取到。例如:

window.addEventListener('message', function(ev) {

//ev.data : 发送过来的数据
//ev.origin
if (ev.data == '?') {
document.body.style.background = 'red';
}

}, false);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: