docs.rodeo

MDN Web Docs mirror

ServiceWorkerContainer: controller property

{{APIRef("Service Workers API")}} {{SecureContext_Header}} {{AvailableInWorkers}} 

The controller read-only property of the {{domxref("ServiceWorkerContainer")}}  interface represents the active {{domxref("ServiceWorker","service worker","","nocode")}}  controlling the current page (associated with this ServiceWorkerContainer), or null if the page has no active or activating service worker.

This is the same object returned by {{domxref("ServiceWorkerRegistration.active")}} .

Value

A {{domxref("ServiceWorker")}}  object if its state is activating or activated, or null if there is no active worker.

The property also returns null if the request is a force refresh (Shift + refresh)

Examples

Test if a page is controlled by a service worker

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.");
}

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

In this article

View on MDN