Service Worker无法从缓存中获取数据

时间:2018-07-08 10:43:53

标签: caching browser-cache service-worker

任务:首先脱机; 我有一些页面(以?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));
});

1 个答案:

答案 0 :(得分:0)

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

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