[英]How to update service workers?
情况:
我在mywebsite.com/game上注册了一个服务工作者
navigator.serviceWorker.register('/service-worker.js', {scope: "/"});
在我的服务器上, '/service-worker.js'
的maxAge为1d
。
问题:
service-worker.js
有一个主要的错误。 它始终显示空白页,无法获取任何内容。 service-worker.js
必须更改。
问题是,每当用户访问mywebsite.com/game
,它就会显示空白页面,并且什么也不做。 我无法使客户端获取新的service-worker.js
。
如何使客户端获取新的service-worker.js
?
什么你所描述的,一个更新检查/service-worker.js
默认-happens,自动,下所列情况这篇文章 :
如果发生以下任何情况,将触发更新:
- 导航到范围内页面的导航。
- 除非过去24小时内没有进行更新检查,否则将执行诸如推送和同步之类的功能性事件。
- 仅当服务工作者URL更改时才调用
.register()
。 但是,您应该避免更改辅助URL。
默认情况下,所有现代Web浏览器都会忽略您在/service-worker.js
设置的所有Cache-Control
标头 ,并直接针对Web服务器获取最新副本。
如果您希望它的行为像“ kill switch”一样,则此Stack Overflow答案具有一些最佳实践,涉及修订后的service-worker.js
文件应包含的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.