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

The caches read-only property of the WindowOrWorkerGlobalScope interface returns the CacheStorage object associated with the current context. This object enables functionality such as storing assets for offline use, and generating custom responses to requests.

Syntax

var myCacheStorage = self.caches; // or just caches

Value

A CacheStorage object.

Example

the following example shows how you'd use a cache in a service worker context to store assets offline.

this.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open('v1').then(function(cache) {
      return cache.addAll([
        '/sw-test/',
        '/sw-test/index.html',
        '/sw-test/style.css',
        '/sw-test/app.js',
        '/sw-test/image-list.js',
        '/sw-test/star-wars-logo.jpg',
        '/sw-test/gallery/',
        '/sw-test/gallery/bountyHunters.jpg',
        '/sw-test/gallery/myLittleVader.jpg',
        '/sw-test/gallery/snowTroopers.jpg'
      ]);
    })
  );
});

Specifications

Specification Status Comment
Service Workers
The definition of 'caches' in that specification.
Working Draft Defined in a WindowOrWorkerGlobalScope partial in the newest spec.
Service Workers Working Draft Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support40 ?

42

521

No ? No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes ?

42

521

Yes Yes ?

1. caches now defined on WindowOrWorkerGlobalScope mixin.

See also

Document Tags and Contributors

Contributors to this page: fscholz, rifai, chrisdavidmills, teoli, kscarfone
Last updated by: fscholz,