v1.4.9b Service worker cache works now

This commit is contained in:
victor 2020-11-26 12:44:53 +01:00
parent 5a073b5cb4
commit 6d0cb5333d
4 changed files with 12 additions and 9 deletions

View File

@ -7,7 +7,8 @@ const assets = [
'/css/webapp.css', '/css/webapp.css',
'/css/webappdark.css', '/css/webappdark.css',
'/home', '/home',
'/events' '/events',
'/login'
]; ];
// install event // install event
@ -15,7 +16,7 @@ self.addEventListener('install', evt => {
//console.log('service worker installed'); //console.log('service worker installed');
evt.waitUntil( evt.waitUntil(
caches.open(staticCacheName).then((cache) => { caches.open(staticCacheName).then((cache) => {
console.log('caching shell assets'); //console.log('caching shell assets');
return cache.addAll(assets); return cache.addAll(assets);
}) })
); );
@ -36,16 +37,16 @@ self.addEventListener('activate', evt => {
}); });
// fetch event // fetch event
self.addEventListener('fetch', evt => { self.addEventListener('fetch', evt => {
//console.log('fetch event', evt); console.log('fetch event');
evt.respondWith( evt.respondWith(
caches.match(evt.request).then(cacheRes => { caches.match(evt.request).then( async function (cacheRes){
return cacheRes || fetch(evt.request).then(fetchRes => { return cacheRes || fetch(evt.request).then(fetchRes => {
return caches.open(dynamicCacheName).then(cache => { return caches.open(dynamicCacheName).then(cache => {
cache.put(evt.request.url, fetchRes.clone()).then(r => { cache.put(evt.request.url, fetchRes.clone()).then(r => {
return fetchRes; return fetchRes;
}); });
}) })
}); });
}) })
@ -53,7 +54,8 @@ self.addEventListener('fetch', evt => {
}); });
//Push notification, this is more of a demo you can test in the dev tool
/*
self.addEventListener('push', evt => { self.addEventListener('push', evt => {
const title = "Test Notification"; const title = "Test Notification";
const body = "Det her et en demo på hvordan en notification kan se ud! "; const body = "Det her et en demo på hvordan en notification kan se ud! ";
@ -78,4 +80,4 @@ function displayNotification(){
}) })
} }
} }
*/

View File

@ -7,7 +7,7 @@ Make sure that we support service worker :)
if('serviceWorker' in navigator){ if('serviceWorker' in navigator){
window.addEventListener('load', () => { window.addEventListener('load', () => {
navigator.serviceWorker navigator.serviceWorker
.register('/js/serviceWorkerCachedWebpags.js') .register('/serviceWorkerCachedWebpags.js')
.then(reg => console.log("Service Worker has been: registered")) .then(reg => console.log("Service Worker has been: registered"))
.catch(err => console.log(`Service Worker error: ${err}`)) .catch(err => console.log(`Service Worker error: ${err}`))
}) })

View File

@ -121,7 +121,7 @@
</style> </style>
@yield("content") @yield("content")
<script src="{{ mix("/js/app.js") }}"></script> <script src="{{ mix("/js/app.js") }}"></script>
<script src="/js/serviceWorkerRegistration.js"></script> <script src="/serviceWorkerRegistration.js"></script>
<!--We have a service worker on the login pages, dont know if he works on the rest of the website, it looks like he does :) --> <!--We have a service worker on the login pages, dont know if he works on the rest of the website, it looks like he does :) -->
@if(request()->cookie("mode") == "dark") @if(request()->cookie("mode") == "dark")
<script type="text/javascript"> <script type="text/javascript">

View File

@ -30,6 +30,7 @@
@yield("content") @yield("content")
<script src="{{ mix("/js/app.js") }}"></script> <script src="{{ mix("/js/app.js") }}"></script>
<script src="/serviceWorkerRegistration.js"></script>
@yield("scripts") @yield("scripts")
</body> </body>
</html> </html>