将 Service Worker 保存在缓存中是否有意义?
Does it make sense saving a service worker in cache?
从我的 service worker 那里,我在浏览器缓存中保存了一些资产,以及 service worker 脚本本身,它工作正常,所以我可以看到 service worker url 和所有其他我的 devtools 缓存选项卡中的资产。
现在,当我离线时,我的服务工作者会监听 fetch
事件并从缓存中获取所有资产。
但是,当页面尝试注册 worker 本身时,似乎没有获取事件,因此我在控制台中收到以下错误:
console error
console erorr
我错过了什么吗?毕竟,缓存 service-worker 脚本本身有意义吗?
根据 update algorithm 的规范(也就是 运行 用于注册)。 7.2点:
Set request’s skip service worker flag and request’s redirect mode to "error".
这意味着您的 service worker 请求永远不会通过 service worker。而是按照自己的规则缓存在自己的缓存中。您看到的错误是浏览器尝试获取 fresh 版本的 service worker 的失败尝试。
正如 Jeff Posnick 在他的一个回复中所说,您可以安全地忽略这些错误。
从我的 service worker 那里,我在浏览器缓存中保存了一些资产,以及 service worker 脚本本身,它工作正常,所以我可以看到 service worker url 和所有其他我的 devtools 缓存选项卡中的资产。
现在,当我离线时,我的服务工作者会监听 fetch
事件并从缓存中获取所有资产。
但是,当页面尝试注册 worker 本身时,似乎没有获取事件,因此我在控制台中收到以下错误:
console error
console erorr
我错过了什么吗?毕竟,缓存 service-worker 脚本本身有意义吗?
根据 update algorithm 的规范(也就是 运行 用于注册)。 7.2点:
Set request’s skip service worker flag and request’s redirect mode to "error".
这意味着您的 service worker 请求永远不会通过 service worker。而是按照自己的规则缓存在自己的缓存中。您看到的错误是浏览器尝试获取 fresh 版本的 service worker 的失败尝试。
正如 Jeff Posnick 在他的一个回复中所说,您可以安全地忽略这些错误。