service-worker.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. var CACHE_NAME = 'snapdrop-cache-v1.045';
  2. var urlsToCache = [
  3. '/',
  4. '/styles.css',
  5. '/scripts/network.js',
  6. '/scripts/ui.js',
  7. '/sounds/blop.mp3',
  8. '/images/favicon-96x96.png'
  9. ];
  10. self.addEventListener('install', function(event) {
  11. // Perform install steps
  12. event.waitUntil(
  13. caches.open(CACHE_NAME)
  14. .then(function(cache) {
  15. console.log('Opened cache');
  16. return cache.addAll(urlsToCache);
  17. })
  18. );
  19. });
  20. self.addEventListener('fetch', function(event) {
  21. event.respondWith(
  22. caches.match(event.request)
  23. .then(function(response) {
  24. // Cache hit - return response
  25. if (response) {
  26. return response;
  27. }
  28. return fetch(event.request);
  29. }
  30. )
  31. );
  32. });
  33. self.addEventListener('activate', function(event) {
  34. console.log('Updating Service Worker...')
  35. event.waitUntil(
  36. caches.keys().then(function(cacheNames) {
  37. return Promise.all(
  38. cacheNames.filter(function(cacheName) {
  39. // Return true if you want to remove this cache,
  40. // but remember that caches are shared across
  41. // the whole origin
  42. return true
  43. }).map(function(cacheName) {
  44. return caches.delete(cacheName);
  45. })
  46. );
  47. })
  48. );
  49. });