ServiceWorker.state
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
ServiceWorker 接口的这个只读的
state
属性返回一个代表 service worker 当前状态的字符串。值可以是以下这些:installing, installed, activating, activated,或者是 redundant.
语法
someURL = ServiceWorker.state
值
一个 ServiceWorkerState
的定义值 (see the spec.)
示例
这块代码出自 service worker registration-events sample (live demo). 代码监听了任何ServiceWorker.state
中的改变,并返回它的值。
js
var serviceWorker;
if (registration.installing) {
serviceWorker = registration.installing;
document.querySelector("#kind").textContent = "installing";
} else if (registration.waiting) {
serviceWorker = registration.waiting;
document.querySelector("#kind").textContent = "waiting";
} else if (registration.active) {
serviceWorker = registration.active;
document.querySelector("#kind").textContent = "active";
}
if (serviceWorker) {
logState(serviceWorker.state);
serviceWorker.addEventListener("statechange", function (e) {
logState(e.target.state);
});
}
规范
Specification |
---|
Service Workers # service-worker-state |
浏览器兼容性
BCD tables only load in the browser