ServiceWorkerContainer: controller 属性
注意:此功能在 Web Workers 中可用。
ServiceWorkerContainer 接口的 controller 只读属性表示控制当前页面(与此 ServiceWorkerContainer 关联)的活动 service worker,如果该页面没有活动或正在激活的 service worker,则返回 null。
这与 ServiceWorkerRegistration.active 返回的对象相同。
值
如果 ServiceWorker 对象的 state 处于 activating 或 activated,则返回该对象,否则如果没有活动的工作线程,则返回 null。
如果请求是强制刷新(Shift + 刷新),此属性也会返回 null。
示例
测试页面是否由 service worker 控制
js
if ("serviceWorker" in navigator) {
// Do a one-off check to see if a service worker's in control.
if (navigator.serviceWorker.controller) {
console.log(
`This page is currently controlled by: ${navigator.serviceWorker.controller}`,
);
} else {
console.log("This page is not currently controlled by a service worker.");
}
} else {
console.log("Service workers are not supported.");
}
规范
| 规范 |
|---|
| Service Workers # navigator-service-worker-controller |
浏览器兼容性
加载中…