服务工作进程不从缓存中获取数据



任务:先离线; 我有一些页面(以?ind${number}.html结尾,这些页面没有缓存。我通过将第二个参数传递给caches.match(event.request.url))来解决此问题

let CACHE = 'network-or-cache-v1';
self.addEventListener('install', function(event){
let offlinePage = new Request('/index.html');
self.skipWaiting();
event.waitUntil(
caches
.open(CACHE)
.then((cache) => cache.addAll(arrayToCache))
);
});
self.addEventListener('fetch', function(event){
const url = new URL(event.request.url);
console.log(url);
caches.match(event.request.url, {ignoreSearch: true}).then(function(response) {
return response || fetch(event.request);
})
event.waitUntil(update(event.request));
});

您可以尝试创建一个新的请求对象,然后将其传递给 caches.match like

const requestNew = new Request(event.request, {ignoreSearch: 'true' });
caches.match(requestNew).then(///)

最新更新