javascript - 被点击的链接,如何发消息通知其我已经被打开
怪我咯
怪我咯 2017-04-11 12:30:34
[JavaScript讨论组]

这个需求不是要用 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)
PHP中文网

很久以前发现的一个方案,这里有测试代码:

localsync

伊谢尔伦

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

伊谢尔伦

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号