ServiceWorkerRegistration: unregister() 方法

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有瀏覽器中可用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

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

ServiceWorkerRegistration 介面的 unregister() 方法會登出 Service Worker 註冊並返回一個 Promise。如果未找到註冊,Promise 將解析為 false;否則,無論登出是否成功(如果其他人剛剛使用相同的範圍呼叫了 ServiceWorkerContainer.register(),則可能不會登出),它都會解析為 true。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

瀏覽器相容性

另見