我需要检查服务工作缓存中是否存在特定的URL路径。 例如,假设我的网址是:
/ myserviceworker /服务= 110安培; B = 70
此URL存在于缓存中,但其中有许多具有不同的a和b值。
现在,假设我要刷新所有这些网址,我该怎么做?
我想知道如何从Service Worker缓存中访问键值。
如果我知道密钥,我的计划如下:
var url = new URL(key);
if(url.pathname === "\/myserviceworker/service")
then refetch the key
但我不知道如何获取缓存密钥以及它的格式。我的意思是,它是一个字符串还是已经是一个URL?
答案 0 :(得分:2)
缓存API有match()
方法,如果匹配则返回在Response对象中解析的promise;如果不存在匹配则返回undefined
。第二个参数是一个对象,您可以在其中指定ignoreSearch
以不考虑URL参数。
ignoreSearch
选项实际上是supported only by Firefox(Chrome status here)。
另一方面,要检索所有缓存条目,您可以使用keys()
方法。