消息关闭
    暂无新消息!

这个需求不是要用 AJAX 或 Notification 来完成,是想两个页面之间,进行消息的传递,类似浏览器的消息监听功能。

     window.addEventListener('message',function(e){
        console.log(e);
      },false);
    
    
      $('A').on('click',function(){
        console.log('点击测算');
        var otherWindow=window.open(this);
            otherWindow.postMessage('hello',location.href);
        return false;
        })

例子:
我在当前页面(A)打开了一个链接(B),在该链接(B)被打开并执行完毕某个脚本操作后,通知(A),我已完成了操作。
我尝试使用 postMessage 来完成该操作,但是并没有接收到任何内容。

问题1:有无比 postMessage 更好的解决方法能达到需求?
问题2:下面的例子中,有什么错误而导致无效?(已确定浏览器是支持该 API)

补充:该问题是前端页面之间的消息通知,非客户端与服务器之间的消息通知。


3个回答

︿ 0

用socket.io,A页面需要和服务器保持联系,B页面完成操作,通知服务器,服务器推送给A页面

︿ 0

理论上 postMessage 已经是最优选择了。

如果是同源页面,可以考虑用 window.open() 打开 B 页面,这个时候 B 页面可以通过 window.opener 来访问 A 页面。