Skip to content

Instantly share code, notes, and snippets.

@hyyan
Created November 11, 2017 22:38
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 hyyan/fe78291701711127fcb62e3afd249749 to your computer and use it in GitHub Desktop.
Save hyyan/fe78291701711127fcb62e3afd249749 to your computer and use it in GitHub Desktop.
let cacheName = 'cache-v1';
self.addEventListener('install', (e) => {
let cache = caches.open(cacheName).then((c) => {
c.addAll([
'/index.css'
]);
});
e.waitUntil(cache);
});
self.addEventListener('fetch', (e) => {
e.respondWith(
caches.match(e.request).then((response) => {
if (response) return response;
return fetch(e.request);
})
);
});
self.addEventListener('activate', (e) => {
e.waitUntil(
caches.keys().then((keys) => {
keys
.filter((key) => key.startsWith('cache-') && key !== cacheName)
.map((key) => { caches.delete(key) });
})
)
});
self.addEventListener('message',(e) => {
if(e.data.action === 'update') {
self.skipWaiting();
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment