Cache: keys() method
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 keys() method of the Cache interface returns a
Promise that resolves to an array of Request objects
representing the keys of the Cache.
The requests are returned in the same order that they were inserted.
Note:
Requests with duplicate URLs but different headers can be
returned if their responses have the VARY header set on them.
Syntax
keys()
keys(request)
keys(request, options)
Parameters
requestOptional-
The
Requestwant to return, if a specific key is desired. This can be aRequestobject or a URL. optionsOptional-
An object whose properties control how matching is done in the
keysoperation. The available options are:ignoreSearch-
A boolean value that specifies whether the matching process should ignore the query string in the URL. If set to
true, the?value=barpart ofhttp://foo.com/?value=barwould be ignored when performing a match. It defaults tofalse. ignoreMethod-
A boolean value that, when set to
true, prevents matching operations from validating theRequestHTTPmethod (normally onlyGETandHEADare allowed.) It defaults tofalse. ignoreVary-
A boolean value that, when set to
true, tells the matching operation not to performVARYheader matching. In other words, if the URL matches you will get a match regardless of whether theResponseobject has aVARYheader. It defaults tofalse. cacheName-
A string that represents a specific cache to search within. Note that this option is ignored by
Cache.keys().
Return value
Examples
caches
.open("v1")
.then((cache) => cache.keys())
.then((keys) => {
keys.forEach((request, index, array) => {
cache.delete(request);
});
});
Specifications
| Specification |
|---|
| Service Workers> # cache-keys> |
Browser compatibility
Loading…