情况:
在mywebsite.com/game上,我向…注册了服务工作者
navigator.serviceWorker.register('/service-worker.js', {scope: "/"});
在我的服务器上,'/service-worker.js'
的最大年龄为1d
。
问题:
service-worker.js
有一个主要错误。它始终显示空白页,无法获取任何内容。 service-worker.js
必须更改。
问题在于,每当用户转到mywebsite.com/game
时,它就会显示空白页面,并且什么也不做。我无法使客户端获取新的service-worker.js
。
如何使客户端获取新的service-worker.js
?
答案 0 :(得分:0)
您要描述的内容-检查/service-worker.js
的更新-在this article所描述的情况下,默认情况下会自动发生:
如果发生以下任何情况,将触发更新:
- 导航至范围内页面。
- 功能事件,例如推送和同步,除非在过去的24小时内进行了更新检查。
- 仅在服务工作者URL发生更改时才调用
.register()
。但是,您应该避免更改辅助URL。
默认情况下,您在/service-worker.js
上设置的所有现代Web浏览器will ignore any Cache-Control
headers都会直接针对Web服务器获取最新副本。
如果您希望service-worker.js
像一个“ kill switch”一样工作,则此Stack Overflow answer具有一些最佳做法,应包含修订后的digit
文件。