服务工作者检查导入脚本的字节大小差异

时间:2018-06-06 06:30:31

标签: service-worker

我一直在检查这个主题的很多主题,但似乎无法找到明确的答案。

问题:

服务人员是否检查导入的脚本是否存在字节大小差异,如果存在差异,则触发SW更新。

在GitHub中,我经历过:

并跟进了这些:

大多数文章来自2016/17,他们说这应该实施。在GitHub上甚至提到有关此工作的工作已经开始,但仅此而已,没有明确的地位,或者我可能只是错过了它?

有关这方面的任何信息都会有所帮助。

2 个答案:

答案 0 :(得分:1)

根据this,从版本68开始,chrome会在请求更新服务工作者脚本时忽略HTTP缓存。对 importScripts的请求仍将通过HTTP缓存。但这只是默认设置 - 一个新的注册选项,updateViaCache可用,可以控制这种行为。

updateViaCache选项示例:

if ('serviceWorker' in navigator) { navigator.serviceWorker.register('/service-worker.js', { updateViaCache: 'none' }); }

  

当设置为' none'时,在向顶级/service-worker.js或任何导入的脚本(例如假设的路径/)发出请求时,将不会查询HTTP缓存。 /import.js。

答案 1 :(得分:0)

它实际上是SW文件本身的文件大小差异。如果您在第31行查看此SW example,则每次有更新时,变量CACHE_VERSION都会更新。这将使浏览器能够转储旧版本并从服务器获取新版本。