目前,您需要使用服务工作者和离线应用程序缓存来确保每个浏览器都能与您的离线网站一起使用,因为有些浏览器尚不支持服务工作者。 (Edge和Safari)。
我的问题是浏览器在使用服务工作者和应用程序缓存时如何反应?
如果两者都在使用,浏览器是否会使用服务工作者而不是应用程序缓存?
或者他们是并排工作,造成可能的冲突?
答案 0 :(得分:1)
如果在服务工作者激活时存在与网页客户端关联的现有应用程序缓存,则该关联将被删除,并且服务工作者将是唯一被咨询的事情。
service worker specification中记录了这种行为,因此它应该在支持服务工作者的所有浏览器中保持一致:
对于创建URL匹配的每个服务工作者客户端客户端 注册范围网址:
如果客户端是窗口客户端,则取消关联客户端的责任 来自其应用程序缓存的文档,如果有的话。
否则,如果客户是 共享工作者客户端,取消客户端的全局对象 应用程序缓存,如果有的话。
注意:资源现在将使用 服务工作者注册而不是现有的应用程序缓存。