ServiceWorkerRegistration: updateViaCache property

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.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

The updateViaCache read-only property of the ServiceWorkerRegistration interface returns the value of the setting used to determine the circumstances in which the browser will consult the HTTP cache when it tries to update the service worker or any scripts that are imported via importScripts().

Value

Returns one of the following values:

  • imports, meaning the HTTP cache is not consulted for updates to the service worker script, but is consulted for scripts imported using importScripts(). This is the default value.
  • all, meaning the HTTP cache is consulted for updates to the service worker script and for scripts imported using importScripts().
  • none, meaning the HTTP cache is never consulted.

Examples

The following example shows the use of updateViaCache.

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/service-worker.js", {
      updateViaCache: "none",
    })
    .then((registration) => {
      registration.addEventListener("updatefound", () => {
        // If updatefound is fired, it means that there's
        // a new service worker being installed.
        console.log(`Value of updateViaCache: ${registration.updateViaCache}`);
      });
    })
    .catch((error) => {
      console.error(`Service worker registration failed: ${error}`);
    });
}

Specifications

Specification
Service Workers
# service-worker-registration-updateviacache

Browser compatibility

BCD tables only load in the browser

See also