window.postMessage客户端之间通信

【百度百科】PostMessage是Windows API(应用程序接口) 中的一个常用函数,用于将一条消息放入到消息队列中。消息队列里的消息通过调用GetMessage和PeekMessage取得。

  • 发送端
<script type="text/javascript">
    $(function(){
        var data = {
            act: 'article',  // 自定义的消息类型、行为,用于switch条件判断等。。
            identity: {
                token: '20171018',
                appKey: 'titan'
            },
            msg: {
                subject: '跨域通信消息收到了有木有~', 
            },
            param: {}
        };

        // 不限制域名则填写 * 星号, 否则请填写对应域名如 http://www.b.com
        var $iframe = $('#showPage-M-04')[0].contentWindow;
        $iframe.postMessage(data, '*');
    });
</script>
  • 接收端
<script type="text/javascript">
    window.addEventListener('message', function(e){
        if (e.data.act == 'response') {
            alert(e.data.msg.answer);
        } else {
            alert('未定义的消息: '+ e.data.act);
        }
        console.log(e.data);
    }, false);
</script>
posted @ 2024-08-22 15:47  随缘的一个人  阅读(177)  评论(0)    收藏  举报  来源