ServiceWorkerContainer: controller-Eigenschaft

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.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die schreibgeschützte controller-Eigenschaft des ServiceWorkerContainer-Interfaces repräsentiert den aktiven Service Worker, der die aktuelle Seite (assoziiert mit diesem ServiceWorkerContainer) steuert, oder null, wenn die Seite keinen aktiven oder aktivierenden Service Worker hat.

Dies ist dasselbe Objekt, das von ServiceWorkerRegistration.active zurückgegeben wird.

Wert

Ein ServiceWorker-Objekt, wenn sein Zustand activating oder activated ist, oder null, wenn es keinen aktiven Worker gibt.

Die Eigenschaft gibt auch null zurück, wenn die Anfrage ein erzwungenes Neuladen ist (Shift + Neuladen).

Beispiele

Prüfen, ob eine Seite von einem Service Worker gesteuert wird

js
if ("serviceWorker" in navigator) {
  // Do a one-off check to see if a service worker's in control.
  if (navigator.serviceWorker.controller) {
    console.log(
      `This page is currently controlled by: ${navigator.serviceWorker.controller}`,
    );
  } else {
    console.log("This page is not currently controlled by a service worker.");
  }
} else {
  console.log("Service workers are not supported.");
}

Spezifikationen

Specification
Service Workers
# navigator-service-worker-controller

Browser-Kompatibilität