当前 ServiceWorker 设计/实现存在一个基本设计缺陷,即每个域的每个 UA 仅有一个。
但是,我相信 Edge,尽管他们迟到了,但仍然拥有用于推送、获取等的专业软件实例。
有人可以确认 Edge 实现了多个专业软件实例吗?
编辑1
好吧,可能是 Safari/Webkit,但正在阅读 this它看起来像所有 ServiceWorker 线程都有 1 个进程,加上另一个进程来监视/启动/停止,但每个域只有一个同时的 SW 实例(加上那个狡猾的 iFrame 逻辑 webkit 已经开始运行)
如果 Webkit 或 Edge 都没有按照我的内存告诉我的那样,那么这不是一个好的性能想法吗? (除非软件回收命中率降低)
编辑2
第三个想法,ServiceWorker 中的所有内容都是异步或禁止的这一事实意味着 Fetch、Push、Travel 事件都可以多路复用到同一个 SW 实例,而不会降低性能。
哦,好吧,我又回到了“如果我知道为什么没有人实现 TravelManager 那就太棒了:-(”
FWIW 共享内存缓冲区的 WebKit 实现肯定需要一个同步 API?打破了软件设计的主要前提之一?
最佳答案
虽然 Edge 确实实现了多个 Service Worker,但它不支持专门的 Service Worker 进行推送、获取等操作。
关于javascript - Edge 是否实现多个专业 ServiceWorker 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49062309/