如何仅缓存字体文件并从缓存访问它们

时间:2018-07-11 13:10:40

标签: javascript caching promise content-type

我正在尝试弄清如何使用Promise通过content-type font/wofffont/woff2来缓存字体文件。
我想将网站的网址作为参数传递,并且Promise提取与定义的content-type匹配的所有文件,并将它们放入Cache
之后,我想从Cache访问缓存的字体文件。

谁能帮助我找出正确的方法。
预先感谢!

1 个答案:

答案 0 :(得分:0)

您可以使用service-worker

self.addEventListener('install', (event) => {
  event.waitUntil(caches.open('your-cache-name').then((cache) => {
  console.log('installing service worker', event);
  return cache.addAll([
    'paths/to/your/font/files',
   ]);
 }));
});

self.addEventListener('fetch', (event) => {
  event.respondWith(caches.match(event.request).then((response) => {
  if (response) {
    return response;
  }
  return fetch(event.request);
 }).catch(err => console.log('nope not in the cache', err)));
});

您可以在Chrome application的{​​{1}}标签中对其进行调试