sw.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. let cacheName = 'v1.1::static';
  2. const pageCached = [
  3. '/',
  4. '/index.html',
  5. '/manifest.json',
  6. '/sw.js',
  7. '/tools.ico',
  8. '/assets/css/font-awesome.min.css',
  9. '/assets/css/template.css',
  10. '/assets/css/custom.css',
  11. '/assets/fonts/fontawesome-webfont.eot',
  12. '/assets/fonts/fontawesome-webfont.svg',
  13. '/assets/fonts/fontawesome-webfont.ttf',
  14. '/assets/fonts/fontawesome-webfont.woff',
  15. '/assets/fonts/fontawesome-webfont.woff2',
  16. '/assets/fonts/FontAwesome.otf',
  17. '/assets/js/util.js',
  18. '/assets/js/main.js',
  19. '/assets/js/jquery-3.2.1.min.js',
  20. '/assets/js/jquery-ui.min.js',
  21. '/assets/js/jquery.scrolly.min.js',
  22. '/assets/js/jquery.redirect.js',
  23. '/assets/js/skel.min.js',
  24. '/assets/img/tools.svg',
  25. ];
  26. self.addEventListener('install', e => {
  27. // once the SW is installed, go ahead and fetch the resources
  28. // to make this work offline
  29. e.waitUntil(
  30. caches.open(cacheName).then(cache => {
  31. return cache.addAll(pageCached).then(() => self.skipWaiting());
  32. })
  33. );
  34. });
  35. self.addEventListener('activate', function (e) {
  36. e.waitUntil(
  37. caches.keys().then(keyList => {
  38. return Promise.all(keyList.map(key => {
  39. if (key !== cacheName) {
  40. console.log('[ServiceWorker] Removing old cache', key);
  41. return caches.delete(key);
  42. }
  43. }));
  44. })
  45. );
  46. return self.clients.claim();
  47. });
  48. // when the browser fetches a url, either response with
  49. // the cached object or go ahead and fetch the actual url
  50. self.addEventListener('fetch', event => {
  51. event.respondWith(
  52. // ensure we check the *right* cache to match against
  53. caches.open(cacheName).then(cache => {
  54. return cache.match(event.request).then(res => {
  55. return res || fetch(event.request)
  56. });
  57. })
  58. );
  59. });