From 75ec323579c4bb44536c5a6e152a49bfd6e6d024 Mon Sep 17 00:00:00 2001 From: sani Date: Mon, 12 Sep 2016 01:29:43 +0800 Subject: [PATCH] Add offline support --- _includes/nav.html | 7 +++++ sw.js | 78 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 sw.js diff --git a/_includes/nav.html b/_includes/nav.html index a7bc3d6..23b872a 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -1,4 +1,11 @@ +
diff --git a/sw.js b/sw.js new file mode 100644 index 0000000..3e8a103 --- /dev/null +++ b/sw.js @@ -0,0 +1,78 @@ +var CACHE_VERSION = 'v1'; + +self.addEventListener('install', function (event) { + event.waitUntil( + caches.open(CACHE_VERSION).then(function (cache) { + return cache.addAll([ + '/', + '/index', + '/it_fair/', + '/map/', + '/gallery/', + '/cosplay/', + '/contact/', + '/compete/', + '/about/', + '//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css', + '//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css', + '/assets/css/style.css', + '/assets/css/prettyPhoto.css', + '/assets/css/hoverex-all.css', + '/assets/img/organization/fortinet.png', + '/assets/js/jquery.prettyPhoto.js', + '/assets/js/custom.js', + '//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js', + '//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js', + '//cdnjs.cloudflare.com/ajax/libs/retina.js/1.3.0/retina.min.js', + '//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js', + '/assets/js/jquery.hoverdir.js', + '/assets/js/jquery.hoverex.min.js', + '//cdnjs.cloudflare.com/ajax/libs/jquery.isotope/2.2.2/isotope.pkgd.min.js', + '/assets/img/organization/cybersec.png', + '/assets/img/organization/kperak.png', + '/assets/img/organization/cyberhax.png', + '/assets/img/organization/syntech.png', + '/assets/img/utphax.png', + '/assets/img/organization/utp.png', + '//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/fonts/fontawesome-webfont.woff2?v=4.4.0', + '//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff2', + '/assets/img/slider-banner.jpg', + '/assets/img/slider-cos.jpg', + '/assets/img/slider-merch.jpg', + '/assets/img/slider-sponsor.jpg', + '/assets/img/slider-utphax15.jpg', + '/assets/img/slider-baju.jpg', + '/assets/img/t-back.jpg', + '/assets/img/cosplay.jpg', + '/assets/img/Yone_Saizho.jpg', + '/assets/img/Ayu_Afrina.jpg', + '/assets/img/Yukise_Michi.jpg', + '/assets/img/it-fair.jpg' + ]).catch(function (error) { + console.error('Error in install handler:', error); + }); + }) + ); +}); + +self.addEventListener('activate', function (event) { + event.waitUntil( + caches.keys().then(function (cacheNames) { + return Promise.all( + cacheNames.map(function (cacheName) { + if (cacheName !== CACHE_VERSION) { + return caches.delete(cacheName); + } + }) + ); + }) + ); +}); + +self.addEventListener('fetch', function (event) { + event.respondWith( + caches.match(event.request).then(function (response) { + return response || fetch(event.request); + }) + ); +}); \ No newline at end of file