javascript - Service Worker Install 事件与 Activate 事件

标签 javascript service-worker

这是关于在 Progressive Web App 中使用的 serviceworker API。 谁能帮我理解 Service worker install 事件和 activate 事件之间的区别?

以下是我的理解,

  1. Install 事件是注册 Service Worker 后发生的第一个事件。
  2. 安装事件只发生一次 - 我对此不确定,我可以看到该事件在页面刷新时运行。所以我对这种说法感到困惑。
  3. 安装事件后 - 激活事件触发器。
  4. 每次重新加载页面时激活事件触发器。

除了上面的陈述,我的问题是两个事件之间到底有什么区别,它们都一个接一个地运行,如果是这样,为什么我们需要两个事件?

更新: 共享可能有帮助的资源。我正在读这个。 https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle

感谢大家的回复。

最佳答案

安装事件仅在发现 service worker 文件是新的时触发 - 与现有 service worker 不同(按字节比较),或者遇到此页面/站点的第一个 service worker。

最好缓存您的应用程序可能需要的任何静态文件,这意味着您的应用程序无需下载这些文件,除非它们已更新。

如果已经有一个活跃的 service worker,新的 service worker 将在后台安装——但直到没有页面仍在使用旧的 service worker 时才会激活。

激活事件将在您每次连接到您的服务 worker 时触发。这是一个缓存任何额外(可能是动态的)文件的好地方,同时清理旧缓存和与你的服务 worker 的以前版本相关的东西。

关于javascript - Service Worker Install 事件与 Activate 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46284872/

相关文章:

javascript - 如何使用 Parse JS 和 Facebook SDK 保留登录的用户

从变量动态生成 Javascript 正则表达式?

javascript - React + JS 文件,使用 Atom + Chrome 控制台未捕获错误 : Minified exception,

javascript - 如何检查给定 URL 中是否存在 service-worker?

service-worker - 预缓存文件夹和子文件夹内容

javascript - PWA 是否与浏览器共享 web-push 订阅?

javascript - 如何将文本区域转换为链接?

javascript - 如何将 jpeg 文件从服务器上的文件夹发送到客户端并将其显示在图像元素中?

javascript - 有没有办法打开mailto : and tel: links from a service worker?

firebase - 找不到 Ionic 4 和 Firebase 页面