这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
Cache
接口的 delete()
方法查询request为key的 Cache
条目,如果找到,则删除该 Cache
条目并返回resolve为true的 Promise
。 如果没有找到,则返回resolve为false的 Promise
。
语法
cache.delete(request,{options}).then(function(true) { //your cache entry has been deleted });
返回值
如果cache条目被删除,则返回resolve为true的 Promise
,否则,返回resolve为false的 Promise
。
参数
- request
- 请求删除的
Request
。 - options 可选
- 一个对象,其属性控制删除操作中如何处理匹配缓存。可用的选项是:
ignoreSearch
: 一个Boolean
值,指定匹配进程中是否忽略url中的查询字符串。如果设置为true,http://foo.com/?value=bar 中的 ?value=bar 部分在执行匹配时会被忽略。默认为false。
ignoreMethod
: 一个Boolean
值,当设置为true时,将阻止匹配操作验证{domxref("Request")}}HTTP方法(通常只允许GET和HEAD)。默认为false。
ignoreVary
: 一个Boolean
值,当设置为true时,告诉匹配操作不执行VARY头匹配。
In other words, if the URL matches you will get a match regardless of whether theResponse
object has aVARY
header.默认为false。
cacheName
: ADOMString
that represents a specific cache to search within. Note that this option is ignored byCache.delete()
.
示例
caches.open('v1').then(function(cache) { cache.delete('/images/image.png').then(function(response) { someUIUpdateFunction(); }); })
规范
Specification | Status | Comment |
---|---|---|
Service Workers Cache |
Editor's Draft | Initial definition. |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 40.0[1] | 39 (39)[2] | 未实现 | 24 | 未实现 |
All options supported | 54.0 | 41 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | 未实现 | 未实现 | 39.0 (39) | ? | 未实现 | (Yes) | 未实现 | 40.0[1] |
All options supported | 未实现 | 未实现 | 41 | 54.0 |
[1] The options parameter only supports ignoreSearch
, and cacheName
.
[2] Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR.)