怎样实现js跨页通信?

就像sf.gg的消息阅读一样,我在a页面点击了【全部标记为已读】,那其他打开的同站点下的页面都不会再提示有未读消息了

希望给出简单实现的代码,多谢~

回复
阅读 5.8k
8 个回答

看看是不是用了长链接进行推送的!

应该是用的socket,控制台里面可以看到有加载socket.io.js

可以用cookie,localstorage来存储,页面用setInterval去监听好了

sf.gg 用的是 socket.io, 每个页面一直保持着和后台服务器的连接,有什么消息,服务器之间推送过来就好了。
你有没发现,即使用不同的电脑登录同一个账号,也是这样的。所以这不是多个页面间的通信。

localStorage 有事件可以监听localStorage 变化,但是只限制 A页面向localStorage更改/添加 item,B、C、D页面能监听到事件,,A页面不会

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏