state
只读特性在
ServiceWorker
interface returns a string representing the current state of the service worker. It can be one of the following values:
installing
,
installed,
activating
,
activated
,或
redundant
.
someURL = ServiceWorker.state
A
ServiceWorkerState
definition (
see the spec
)。
This code snippet is from the
service worker registration-events sample
(
live demo
). The code listens for any change in the
ServiceWorker.state
and returns its value.
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);
});
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
服务工作者
The definition of 'state' in that specification. |
工作草案 | 初始定义 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
state
|
Chrome 40 |
Edge
17
|
Firefox
44
注意事项
|
IE 不支持 No | Opera 27 | Safari 11.1 | WebView Android 40 | Chrome Android 40 | Firefox Android 44 | Opera Android 27 | Safari iOS 11.3 | Samsung Internet Android 4.0 |
完整支持
不支持
实验。期望将来行为有所改变。
见实现注意事项。
用户必须明确启用此特征。
ServiceWorker
onerror
onstatechange
scriptURL
state
缓存
CacheStorage
Client
Clients
ExtendableEvent
FetchEvent
InstallEvent
Navigator.serviceWorker
NotificationEvent
PeriodicSyncEvent
PeriodicSyncManager
PeriodicSyncRegistration
ServiceWorkerContainer
ServiceWorkerGlobalScope
ServiceWorkerRegistration
SyncEvent
SyncManager
SyncRegistration
WindowClient