Skip to content

Instantly share code, notes, and snippets.

@Jorger
Created September 8, 2017 20:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jorger/f16ad5eaecfe2252c072ed1ae73713a5 to your computer and use it in GitHub Desktop.
Save Jorger/f16ad5eaecfe2252c072ed1ae73713a5 to your computer and use it in GitHub Desktop.
Ejemplo serviceworker
const PRECACHE = 'trivia-precache-v12';
const RUNTIME = 'runtime';
const PRECACHE_URLS = [
'/',
'/game/img/loader4.gif',
'/game/css/all.css',
'/game/js/build.min.js',
'/game/sound/sounds.mp3',
];
self.addEventListener('install', event => {
event.waitUntil(
caches.open(PRECACHE)
.then(cache => cache.addAll(PRECACHE_URLS))
.then(self.skipWaiting())
);
});
self.addEventListener('activate', event => {
const currentCaches = [PRECACHE];
event.waitUntil(
caches.keys().then(cacheNames => {
return cacheNames.filter(cacheName => !currentCaches.includes(cacheName));
}).then(cachesToDelete => {
return Promise.all(cachesToDelete.map(cacheToDelete => {
return caches.delete(cacheToDelete);
}));
}).then(() => self.clients.claim())
);
});
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment