这是关于在 Progressive Web App 中使用的 serviceworker API。 谁能帮我理解 Service worker install 事件和 activate 事件之间的区别?
以下是我的理解,
- Install 事件是注册 Service Worker 后发生的第一个事件。
- 安装事件只发生一次 - 我对此不确定,我可以看到该事件在页面刷新时运行。所以我对这种说法感到困惑。
- 安装事件后 - 激活事件触发器。
- 每次重新加载页面时激活事件触发器。
除了上面的陈述,我的问题是两个事件之间到底有什么区别,它们都一个接一个地运行,如果是这样,为什么我们需要两个事件?
更新: 共享可能有帮助的资源。我正在读这个。 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/