【发布时间】:2018-02-22 19:14:30
【问题描述】:
我看到很多这样的示例代码:(this Mozilla Doc 的略微缩短的版本)
this.addEventListener('install', function(event) {
event.waitUntil(
caches.open('v1').then(function(cache) {
return cache.addAll([
'/sw-test/',
'/sw-test/index.html',
'/sw-test/style.css',
'/sw-test/gallery/',
'/sw-test/gallery/bountyHunters.jpg',
]);
})
);
});
我不明白你为什么要同时添加/sw-test/ 和 /sw-test/index.html。似乎第一个文件夹 URL 应该自动加载下面的所有内容,或者,如果它不这样做,为什么它在那里? /sw-test/gallery/ 和 /sw-test/gallery/bountyHunters.jpg 相同。
文档说“Cache 接口的 addAll() 方法采用 URL 数组,检索它们,并将生成的响应对象添加到给定的缓存中”。这不是很有帮助。
我真正想做的是缓存几个文件夹中的所有 *.html 文件和另一个文件夹中的所有图像文件(各种格式)。一个一个地列出它们很脆弱(很快就会不同步),容易出现拼写错误,而且很愚蠢。
稍后添加
进一步阅读后,似乎不存在通配符,所以很愚蠢。 :-) 但是添加像/sw-test/ 这样的文件夹有什么意义呢?
【问题讨论】:
标签: javascript caching service-worker