[js]解决postMessage跨域、跨iframe消息传递

页面中有子iframe页面 , 当子iframe接收到消息 , 比如websocket传递过来的消息时

希望能通知到父级页面

可以使用windows.postMessage传递消息 , 两个参数 ,第一个是数据 ,第二个是跨域时指定的目的域

向父级页面传递消息 , 跨域部分是 * , 表示所有域名

window.parent.postMessage(redata,"*");

父级页面监听消息

    window.addEventListener('message',function(e){
        //进行处理
    });        

详细效果可以参考本页的客服按钮 , 当点开后关闭了页面

客服端发送的消息 , 仍然可以弹出来

 

posted @ 2021-03-01 18:53  陶士涵  阅读(53)  评论(0编辑  收藏