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) {
  navigator.serviceWorker.register('/service-worker.js', {
    updateViaCache: 'none'
  }).then(function(registration) {
    registration.addEventListener('updatefound', function() {
      // If updatefound is fired, it means that there's
      // a new service worker being installed.
      console.log('Value of updateViaCache:', registration.updateViaCache);
  .catch(function(error) {
    console.log('Service worker registration failed:', error);


Service Workers 1
# service-worker-registration-updateviacache

Browser compatibility

BCD tables only load in the browser

See also