Cache.delete()

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

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 the Response object has a VARY header. 默认为false。
  • cacheName: A DOMString that represents a specific cache to search within. Note that this option is ignored by Cache.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.)

参见

文档标签和贡献者