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
request Optional
-
The Request want to return, if a specific key is desired. This can be a Request object or a URL.
options Optional
-
An object whose properties control how matching is done in the keys operation. 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=bar part of http://foo.com/?value=bar would be ignored when performing a match. It defaults to false.
-
ignoreMethod
-
A boolean value that, when set to true, prevents matching operations from validating the Request HTTP method (normally only GET and HEAD are allowed.) It defaults to false.
-
ignoreVary
-
A boolean value that, when set to true, tells the matching operation not to perform VARY header matching. In other words, if the URL matches you will get a match regardless of whether the Response object has a VARY header. It defaults to false.
-
cacheName
-
A string that represents a specific cache to search within. Note that this option is ignored by Cache.keys().
Return value
A Promise that resolves to an array of Request objects.
Examples
caches.open("v1").then((cache) => {
cache.keys().then((keys) => {
keys.forEach((request, index, array) => {
cache.delete(request);
});
});
});
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
keys |
43 |
16 |
41 |
No |
30 |
11.1 |
43 |
43 |
41 |
30 |
11.3 |
4.0 |
See also