【问题标题】:Service worker Install event vs Activate event服务工作者安装事件与激活事件
【发布时间】:2018-02-27 07:40:55
【问题描述】:

这是关于 Progressive Web App 中使用的 serviceworker API。 谁能帮我理解 Service Worker 安装事件和激活事件之间的区别?

以下是我的理解,

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

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

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

感谢大家的回复。

【问题讨论】:

标签: javascript service-worker


【解决方案1】:

仅当发现 Service Worker 文件是新文件时才会触发 install 事件 - 与现有 Service Worker 不同(按字节比较),或者此页面/站点遇到的第一个 Service Worker。

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

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

每次连接到 Service Worker 时都会触发 activate 事件。这是缓存任何额外(可能是动态)文件的好地方,同时清理旧缓存和与之前版本的 service worker 相关的东西。

【讨论】:

  • 那么在每次安装事件触发后激活事件是否只触发一次?或者同一个安装的工作人员可以多次激活(重新加载或其他什么)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-04
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多