ServiceWorkerContainer.controller

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

ServiceWorker オブジェクト。

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