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 |
瀏覽器相容性
載入中…