service-worker.js 1.3 KB

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