我们希望每个浏览器都有一个套接字,而不是浏览器中的每个选项卡都有一个套接字。我们怎样才能实现它?我读到了关于共享网络工作者的文章,这很有前途。对此的参考也表示赞赏。不幸的是,据我所知,共享网络工作者还没有被 mozilla 或 internet explorer 实现。那么在这种情况下该怎么办?我们正在服务器端开发 node.js。
原文由 singhsumit 发布,翻译遵循 CC BY-SA 4.0 许可协议
我们希望每个浏览器都有一个套接字,而不是浏览器中的每个选项卡都有一个套接字。我们怎样才能实现它?我读到了关于共享网络工作者的文章,这很有前途。对此的参考也表示赞赏。不幸的是,据我所知,共享网络工作者还没有被 mozilla 或 internet explorer 实现。那么在这种情况下该怎么办?我们正在服务器端开发 node.js。
原文由 singhsumit 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
看到这个问题后,我终于在几天前实现了共享套接字并添加到我的库中。它似乎适用于大多数浏览器,甚至包括 IE6,但 Opera 除外。对于 Opera,您可以使用常规检查而不是卸载事件。
在 https://github.com/flowersinthesand/portal/issues/21 检查相关问题
###留下一个cookie
参见, https://github.com/flowersinthesand/portal/blob/7c2ce4bb61d05d80580e6cde6c94a78238a67345/jquery.socket.js#L629-L650
###共享和使用共享套接字
分享: https://github.com/flowersinthesand/portal/blob/7c2ce4bb61d05d80580e6cde6c94a78238a67345/jquery.socket.js#L531-L568
使用共享: https://github.com/flowersinthesand/portal/blob/7c2ce4bb61d05d80580e6cde6c94a78238a67345/jquery.socket.js#L851-L893
分享: https://github.com/flowersinthesand/portal/blob/7c2ce4bb61d05d80580e6cde6c94a78238a67345/jquery.socket.js#L571-L605
使用共享: https://github.com/flowersinthesand/portal/blob/7c2ce4bb61d05d80580e6cde6c94a78238a67345/jquery.socket.js#L894-L929
笔记
希望我的回答对您有所帮助。