ServiceWorkerRegistration.unregister()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

unregister()ServiceWorkerRegistration インターフェイスのメソッドで、サービスワーカーの登録を解除し、プロミス (Promise) を返します。 登録が見つからなかった場合、プロミスは false に解決されます。 それ以外の場合は、登録解除したかどうかに関係なく、true に解決されます(誰かが同じスコープで ServiceWorkerContainer.register() を同時に呼び出した場合は、登録解除されない場合があります)。 サービスワーカーは、登録解除される前に進行中の操作を完了します。

メモ: この機能はウェブワーカーで利用できます。

構文

js
unregister()

引数

なし。

返値

Promise で、サービスワーカーが登録解除されたかどうかを示す論理値で解決します。

次の簡単な例では、サービスワーカーの例を登録していますが、すぐに録を解除しています。

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js", { scope: "/" })
    .then((registration) => {
      // 登録に成功
      console.log("登録に成功しました。");
      registration.unregister().then((boolean) => {
        // boolean = true ならば、登録解除は成功
      });
    })
    .catch(function (error) {
      // 登録に失敗しました
      console.error(`登録に失敗しました: ${error}`);
    });
}

仕様書

Specification
Service Workers
# navigator-service-worker-unregister

ブラウザーの互換性

BCD tables only load in the browser

関連情報