service-worker.js 1.3 KB

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