Cache.keys() - Web API 接口参考 编辑
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
Cache
接口的 keys()
方法返回一个 Promise
,这个 Promise
将解析为一个Cache
键的数组。
请求将以它们被插入的顺序返回。
注意: 具有相同URL但不同请求头的请求,如果它们的响应头中有 VARY 头部,则他们可以被返回。
语法
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()方法忽略。
示例
caches.open('v1').then(function(cache) {
cache.keys().then(function(keys) {
keys.forEach(function(request, index, array) {
cache.delete(request);
});
});
})
规范
规范 | 状态 | 备注 |
---|---|---|
Service Workers Cache | Working Draft | Initial definition. |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 40.0[1] | 39 (39)[2] | 未实现 | 24 | 未实现 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | 未实现 | 未实现 | 39.0 (39) | ? | 未实现 | ? | 未实现 | 40.0[1] |
[1] 可选参数只支持 ignoreSearch 和
cacheName
。
[2] Service workers (以及Push) 在 Firefox 45 Extended Support Release (ESR) 中已经被禁止了。
参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论