如何更新服务人员?

时间:2019-09-13 03:01:24

标签: javascript browser service-worker browser-cache

情况:

在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

1 个答案:

答案 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文件。

相关问题