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