Service-Worker:远程文件没有被缓存

时间:2017-07-22 08:57:32

标签: javascript caching browser-cache service-worker progressive-web-apps

我正在尝试在渐进式网络应用中缓存静态文件和远程文件。

静态文件会被缓存,但远程文件不是。

browser caching of static & remote files

以下是代码:

self.addEventListener( 'install', e => {
    e.waitUntil(
        caches.open( 'offline' )
        .then( cache => cache.addAll([
            '/',
            'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css',
            'https://code.jquery.com/jquery-3.2.1.js',
            'scripts/firebase.js',
            'scripts/localForage.js',
            'old-index.html',
            'scripts/main.js',
        ]))
    );
});

提前致谢

以下是更新后的代码

var filesToCache = [
    '.',
    "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker.css",
    'https://code.jquery.com/jquery-3.2.1.js',
    'scripts/firebase.js',
    'scripts/localForage.js',
    'cce.html',
    'scripts/main.js',
    'scripts/secondary.js',
    'https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css'
];

var staticCacheName = 'pages-cache-v1';

self.addEventListener('install', function(event) {
  console.log('Attempting to install service worker and cache static assets');
  event.waitUntil(
    caches.open(staticCacheName)
    .then(function(cache) {
      return cache.addAll(filesToCache);
    })
  );
});

1 个答案:

答案 0 :(得分:0)

我猜你没有使用与此documentation相同的格式。以下是此thread的示例代码:

self.addEventListener('install', function(e) {
  e.waitUntil(
    caches.open('airhorner').then(function(cache) {
      return cache.addAll([
        'https://paul.kinlan.me/'
      ]);
    })
  );
});