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

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

希望能通知到父级页面

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

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

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

父级页面监听消息

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

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

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

开源作品

GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
github地址:go-fly
官网地址:https://gofly.sopans.com

赞赏作者

微信交流

原文地址:https://www.cnblogs.com/taoshihan/p/14465280.html