浏览器一般有三类Worker,
(1) Dedicated Worker, 专用worker, 只能被创建它的JS访问. 创建它的页面关闭, 它的生命周期就结束了.
(2) Shared Worker, 共享worker, 可以被同一域名下的JS访问. 关联的页面都关闭时, 它的生命周期就结束了.
(3) ServiceWorker, 是事件驱动的worker, 生命周期与页面无关. 关联页面未关闭时, 它也可以退出, 没有关联页面时, 它也可以启动.
这三类Worker, 一个非常重要的区别在于不同的生命周期. ServiceWorker与文档无关的生命周期, 是它能提供可靠Web服务的一个重要基础.
本文重点描述ServiceWorker如果管理它与文档无关的生命周期, 以及如何管理各种版本状态.
二 生命周期 官方文档提到, ServiceWorker生命周期的目的是,
实现离线优先. 在不打断现有ServiceWorker的情况下,准备好一个新的ServiceWorker. ServiceWorker注册的scope下的页面, 同一时间只由一个ServiceWorker控制. 确保你的网站只有一个版本在运行. Service Worker 可能有以下几种状态:解析成功(parsed),正在安装(installing),安装成功(installed),正在激活(activating),激活成功(activated),废弃(redundant)。http://click.aliyun.com/m/1000005501/