Skip to content
Snippets Groups Projects
serviceworker.js 876 B
Newer Older
  • Learn to ignore specific revisions
  • const staticCacheName = 'ecolyo-v1'
    
    const urlsToCache = ['index.html', 'offline.html']
    
    self.addEventListener('install', event => {
    
        caches.open(staticCacheName).then(cache => {
    
          return cache.addAll(urlsToCache)
        })
      )
    })
    
    // Listen for requests
    
    self.addEventListener('fetch', event => {
    
      event.respondWith(
        caches.match(event.request).then(() => {
    
          return fetch(event.request).catch(() => caches.match('offline.html'))
    
    self.addEventListener('activate', event => {
    
      const cacheWhitelist = []
    
      cacheWhitelist.push(staticCacheName)
    
    
      event.waitUntil(
        caches.keys().then(cacheNames =>
          Promise.all(
            cacheNames.map(cacheName => {
              if (!cacheWhitelist.includes(cacheName)) {
                return caches.delete(cacheName)
              }
            })
          )
        )
      )
    })