如何检查服务工作缓存中是否存在URL路径

时间:2016-02-09 06:36:30

标签: caching service-worker

我需要检查服务工作缓存中是否存在特定的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?

1 个答案:

答案 0 :(得分:2)

缓存API有match()方法,如果匹配则返回在Response对象中解析的promise;如果不存在匹配则返回undefined。第二个参数是一个对象,您可以在其中指定ignoreSearch以不考虑URL参数。

ignoreSearch选项实际上是supported only by FirefoxChrome status here)。

另一方面,要检索所有缓存条目,您可以使用keys()方法。