W3cubDocs

/DOM

ServiceWorkerContainer.controller

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The controller read-only property of the ServiceWorkerContainer interface returns a ServiceWorker object if its state is activated (the same object returned by ServiceWorkerRegistration.active). This property returns null if the request is a force refresh (Shift + refresh) or if there is no active worker.

Syntax

var myController = navigator.serviceWorker.controller;

Value

A ServiceWorker object.

Example

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

Specification Status Comment
Service Workers
The definition of 'ServiceWorkerRegistration.controller' in that specification.
Working Draft Initial definition

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 40 17
17
16
Disabled
Disabled From version 16: this feature is behind the Enable service workers preference.
44
44
Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).
No 27 11.1
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support 40 40 ? 44 27 11.1 4.0

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/controller