BroadcastChannel,这个方式,只要是在同一原始域和用户代理下,所有窗口、iframe之间都可以进行交互。这个感觉就有点类似于广播了。
1,父页面发送数据
var BroadcastChanne1 = new BroadcastChannel('load1');//创建一个名字是load1的BroadcastChannel对象。记住这个名字,下面会用到
BroadcastChanne1.postMessage({
value: $("#msg").val()
})
2,子页面接收
var var BroadcastChanne1 = new BroadcastChannel('load1');//要接收到数据,BroadcastChannel对象的名字必须相同
BroadcastChanne1.onmessage = function(e){
debugger;
console.log(e.data);//发送的数据
};
以往写iframe之间数据交互,先要找iframe之间的父子关系,但是通过BroadcastChannel发送接收,不需要考虑。