ServiceWorkerRegistration: unregister() 方法

安全上下文:此功能仅在安全上下文(HTTPS)中可用,且在某些或所有支持的浏览器中可用。

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

unregister()ServiceWorkerRegistration接口的方法,用于注销 Service Worker 注册并返回一个Promise。如果未找到注册,则该 Promise 将解析为 false,否则无论注销是否成功,它都将解析为 true(如果其他人刚刚使用相同的范围调用了ServiceWorkerContainer.register(),则可能不会注销)。Service Worker 将在注销之前完成所有正在进行的操作。

语法

js
unregister()

参数

无。

返回值

Promise 解析为一个布尔值,指示 Service Worker 是否已注销。

示例

以下简单的示例注册了一个 Service Worker 示例,但随后立即再次注销它

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js", { scope: "/" })
    .then((registration) => {
      // registration worked
      console.log("Registration succeeded.");
      registration.unregister().then((boolean) => {
        // if boolean = true, unregister is successful
      });
    })
    .catch((error) => {
      // registration failed
      console.error(`Registration failed with ${error}`);
    });
}

规范

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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅