这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
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 theResponseobject has aVARYheader.默认为false。cacheName: ADOMStringthat 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.)