ServiceWorkerRegistration: updateViaCache property

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 updates the cache using the mode specified in the call to ServiceWorkerContainer.register. Requests for importScripts still go via the HTTP cache. updateViaCache offers control over this behavior.


Returns one of the following values:

  • imports, meaning the HTTP cache is not consulted for update of the service worker, but is consulted for importScripts.
  • all, meaning the HTTP cache is consulted in both cases
  • none, meaning the HTTP cache is never consulted.


The following example shows the use of updateViaCache.

if ("serviceWorker" in navigator) {
    .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}`);


Service Workers
# service-worker-registration-updateviacache

Browser compatibility

BCD tables only load in the browser

See also