如何将所有页面添加到cache.addAll

时间:2019-02-15 07:56:30

标签: javascript caching service-worker

我读到here可以缓存文件。

如何在缓存中添加所有页面?

self.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open('v2').then(function(cache) {
      return cache.addAll([
        '/News/NewsItem/1',
        '/News/NewsItem/8',
        '/News/NewsItem/12',
        '/News/NewsItem/14',
        ...
      ]);
    })
  );
});

服务工作者无法访问DOM元素。

1 个答案:

答案 0 :(得分:0)

据我所知,服务人员不需要访问DOM。

这是我用于Service Worker安装过程的功能:

var config = {
    cacheName: 'v01',
    staticCacheItems: [
        'News/NewsItem/1',
        'News/NewsItem/8',
        'News/NewsItem/12',
        'News/NewsItem/14'
    ],
};

self.addEventListener('install', onInstall);

function onInstall(event) {
    event.waitUntil(caches.open(config.cacheName).then(function(cache) {
        return cache.addAll(config.staticCacheItems).then(function() {
            return self.skipWaiting();
        });
    }));
}