如何在多个浏览器选项卡之间共享单个 WebSocket 连接?
我知道有多个建议 SharedWorker 的问题/帖子。然而,由于 SharedWorker 的采用率很低(根据Can I use在撰写本文时的数据,全球范围内只有 35%),这并不是一个可行的解决方案,更不用说它已经在 Safari 中被删除了。
我已经使用 SerivceWorker 实现了一个工作版本,它具有一些 SharedWorker 的功能,可以跨选项卡共享单个连接。不幸的是,在测试过程中,我意识到 ServiceWorker 可以被浏览器杀死/停止,特别是当开发工具未打开时。我还知道一些解决方法可以防止这种行为,例如定期 ping ServiceWorker。我想请问是否有适当的方法来处理这个问题。