ServiceWorkerContainer: getRegistration() 方法

Baseline 已广泛支持

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

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

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

ServiceWorkerContainer 接口的 getRegistration() 方法获取一个 ServiceWorkerRegistration 对象,该对象的 scope URL 与所提供的客户端 URL 匹配。该方法返回一个 Promise,它解析为一个 ServiceWorkerRegistration 对象或 undefined

语法

js
getRegistration()
getRegistration(clientURL)

参数

clientURL 可选

将返回 scope 与此 URL 匹配的注册对象。相对 URL 将以当前客户端为基准进行解析。如果未提供此参数,则默认使用当前客户端的 URL。

返回值

一个 Promise,解析为一个 ServiceWorkerRegistration 对象或 undefined

示例

js
navigator.serviceWorker.getRegistration("/app").then((registration) => {
  if (registration) {
    document.querySelector("#status").textContent =
      "ServiceWorkerRegistration found.";
  }
});

规范

规范
Service Workers
# navigator-service-worker-getRegistration

浏览器兼容性