ServiceWorkerContainer:controllerchange 事件

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有浏览器中可用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

当文档关联的 ServiceWorkerRegistration 获取一个新的 active worker 时,ServiceWorkerContainer 接口的 controllerchange 事件就会触发。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("controllerchange", (event) => { })

oncontrollerchange = (event) => { }

事件类型

一个通用的 Event

示例

js
navigator.serviceWorker.addEventListener("controllerchange", () => {
  console.log("The controller of current browsing context has changed.");
});

规范

规范
Service Workers
# dom-serviceworkercontainer-oncontrollerchange

浏览器兼容性