Cache.keys()
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.
Cache
接口的 keys()
方法返回一个 Promise
,这个 Promise
将解析为一个Cache
键的数组。
请求将以它们被插入的顺序返回。
备注: 具有相同 URL 但不同请求头的请求,如果它们的响应头中有 VARY 头部,则他们可以被返回。
语法
js
cache.keys(request, { options }).then(function (keys) {
//do something with your array of requests
});
返回值
参数
- request 可选
-
如果一个相关键被指定,则返对应的
Request
。 - options 可选
-
一个对象,它的属性决定了 keys 操作中的匹配操作是如何执行的。可选的属性有:
ignoreSearch
: 一个Boolean
值,指定了匹配操作是否忽略 url 中的查询部分。如果为 true,在执行匹配操作时,http://foo.com/?value=bar
的?value=bar
部分将会被忽。默认为false
。ignoreMethod
: 一个Boolean
值,当为 true 时,将会阻止匹配操作验证Request
的 HTTP 方法(通常只有 GET 和 HEAD 方法被允许)。默认为 false。ignoreVary
: 一个Boolean
值,当为true 时,告诉匹配操作不要验证 VARY 头部。换句话说,如果 URL 匹配,你会得到一个匹配而不管
Response
对象是否有 VARY 头部。默认为 false。cacheName
: 一个DOMString
值,描述了在一个特定的 cache 中进行匹配。注意这个选项会被 Cache.keys() 方法忽略。
示例
js
caches.open("v1").then(function (cache) {
cache.keys().then(function (keys) {
keys.forEach(function (request, index, array) {
cache.delete(request);
});
});
});
规范
Specification |
---|
Service Workers # cache-keys |
浏览器兼容性
BCD tables only load in the browser