ServiceWorkerContainer.controller

controllerServiceWorkerContainer インターフェイスの読み取り専用プロパティで、ServiceWorker オブジェクトの状態が activating または activated ならそれ (ServiceWorkerRegistration.active で返されるのと同じオブジェクト) を返します。このプロパティはリクエストが強制リフレッシュ(Shift + リフレッシュ)やアクティブワーカーがない場合は null を返します。

ServiceWorker オブジェクト。

js
if ("serviceWorker" in navigator) {
  // 1 回限りのチェックを行って、サービスワーカーが制御しているかどうかを確認します。
  if (navigator.serviceWorker.controller) {
    console.log(
      `このページを現在制御しているもの: ${navigator.serviceWorker.controller}`,
    );
  } else {
    console.log("このページは現在サービスワーカーによって制御されていません。");
  }
} else {
  console.log("サービスワーカーをサポートしていません。");
}

仕様書

Specification
Service Workers
# navigator-service-worker-controller

ブラウザーの互換性

BCD tables only load in the browser