postMessage 解决窗口跨域消息传递

现在跨域嵌套的网页通信现在有了新的解决办法了。

postMessage(data,origin)

data是要传递的数据

origin:指明目标窗口源,http://XX.com 这样的。

如果同源就/

如果传递任意*


父页面:

document.querySelector("#child").contentWindow.postMessage('getcolor','http://localhost:8038');

向iframe发送消息。

window.addEventListener('message',function(e){})

绑定接收

子页面:

 window.addEventListener('message',function(e){
                 
                 if(e.source!=window.parent) return;
                 var color=container.style.backgroundColor;
                 window.parent.postMessage(color,'*');
             },false);
接收消息判断访问源和父级是否一样。

用parent访问父级并postMessage发回消息。源是*

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值