要从服务工作者缓存中删除特定文件吗?

问题描述 投票:0回答:1

我编写的代码可以返回给定缓存中不再使用的所有文件的响应,但是当我运行caches.delete时,它返回false。看起来这是为了删除整个缓存,但我只想删除一些选择文件。有办法吗?

javascript service-worker browser-cache
1个回答
0
投票

您可以使用cache.delete(request, options)删除缓存中的项目。

此方法在缓存中找到与请求匹配的项目,将其删除,然后返回解析为true的Promise。如果找不到该项目,则解析为false。

以下是MDN定义的选项:

ignoreSearch:一个布尔值,它指定是否忽略URL中的查询字符串。例如,如果设为[true]

=?bar部分
htt://foo.com/?value=bar

执行比赛时将被忽略。默认为false。

ignoreMethod:一个布尔值,当设置为true时,将阻止匹配操作验证Request HTTP方法(通常只允许GET和HEAD。它默认为false。)>

ignoreVary:一个布尔值,当设置为true时,将指示匹配操作不执行VARY标头匹配-也就是说,如果URL匹配,则无论Response对象是否具有VARY标头,您都将获得一个匹配项。默认为false。

cacheName:DOMString,表示要在其中搜索的特定缓存。请注意,Cache.match()会忽略此选项。

© www.soinside.com 2019 - 2024. All rights reserved.