diff --git a/server/resources/src/main.js b/server/resources/src/main.js index 10fae33..fcc9c6e 100644 --- a/server/resources/src/main.js +++ b/server/resources/src/main.js @@ -100,18 +100,23 @@ function fillTable(data){ var offline = false; var loadTable_interval = undefined; -function loadTable(table_page, set_interval=true, interval=10000){ +function loadTable(table_page, set_interval=true, interval=10000, onlineReload=false){ $.getJSON( "resources/ajax/ajax_"+table_page+".php", function( data, status, xhr ) { fillTable(data); - var headers = new Headers(); - headers.append('date', Date.now()); - caches.open('tables-1').then((cache) => { - cache.put('/table_'+table_page+'.json', new Response(xhr.responseText, {headers: headers})) - }); + var headers = new Headers(); + headers.append('date', Date.now()); + caches.open('tables-1').then((cache) => { + cache.put('/table_'+table_page+'.json', new Response(xhr.responseText, {headers: headers})) + }); if(window.offline){ // if xhr request successful, client is online - $("#offline_alert").hide(400); - window.offline = false; - } + console.log(onlineReload); + if(onlineReload){ + location.reload(); //for offline page + } else { + $("#offline_alert").hide(400); + window.offline = false; + } + } }).fail(function(data, status) { if(status == "parsererror"){ if($("#table_body").children().length == 0) { @@ -135,7 +140,7 @@ function loadTable(table_page, set_interval=true, interval=10000){ }); if(set_interval){ window.loadTable_interval = setInterval(function() { - window.loadTable(table_page, false); + window.loadTable(table_page, false, interval, onlineReload); }, interval); } } diff --git a/server/resources/src/sw.js b/server/resources/src/sw.js index 9cf7dd5..af4e95a 100644 --- a/server/resources/src/sw.js +++ b/server/resources/src/sw.js @@ -1,7 +1,7 @@ let cacheVersion = 1 let cacheName = "static-"+cacheVersion -const urls = ['/offline.php', '/resources/dist/main.js', '/resources/dist/maps.js', '/manifest.webmanifest', '/resources/images/favicon.ico', '/resources/dist/marker-icon.png', '/resources/dist/layers.png', '/resources/dist/layers-2x.png', '/resources/images/android-chrome-192x192.png', '/resources/images/android-chrome-384x384.png', '/resources/images/black_helmet.png', '/resources/images/red_helmet.png', '/resources/images/wheel.png', '/resources/images/logo.png', '/resources/images/owner.png', '/resources/dist/fonts/fontawesome-webfont.ttf', '/resources/dist/fonts/fontawesome-webfont.svg', '/resources/dist/fonts/fontawesome-webfont.woff', '/resources/dist/fonts/fontawesome-webfont.woff2']; +const urls = ['offline.php', 'resources/dist/main.js', 'resources/dist/maps.js', 'manifest.webmanifest', 'resources/images/favicon.ico', 'resources/dist/marker-icon.png', 'resources/dist/layers.png', 'resources/dist/layers-2x.png', 'resources/images/android-chrome-192x192.png', 'resources/images/android-chrome-384x384.png', 'resources/images/black_helmet.png', 'resources/images/red_helmet.png', 'resources/images/wheel.png', 'resources/images/logo.png', 'resources/images/owner.png', 'resources/dist/fonts/fontawesome-webfont.ttf', 'resources/dist/fonts/fontawesome-webfont.svg', 'resources/dist/fonts/fontawesome-webfont.woff', 'resources/dist/fonts/fontawesome-webfont.woff2']; function fetchHandler(event, content_type, not_found_message){ event.respondWith( @@ -31,15 +31,15 @@ self.addEventListener('fetch', function (event) { if (event.request.cache === 'only-if-cached' && event.request.mode !== 'same-origin') return; if (request.headers.get('Accept').includes('text/html')) { - fetchHandler(event, null, "/offline.php"); + fetchHandler(event, null, "offline.php"); } else if (request.destination == "script") { fetchHandler(event, "application/javascript", "console.error('Script "+event.request.url+" not found');"); } else if (request.destination == "image") { - fetchHandler(event, null, "/resources/images/logo.png"); + fetchHandler(event, null, "resources/images/logo.png"); } else if (request.destination == "font") { fetchHandler(event, null, null); } else if (request.destination == "manifest" || request.url.includes("manifest")) { - fetchHandler(event, null, "/manifest.webmanifest"); + fetchHandler(event, null, "manifest.webmanifest"); } else { event.respondWith(fetch(request)); } diff --git a/server/templates/offline.html b/server/templates/offline.html index ce8cc38..6e881f2 100644 --- a/server/templates/offline.html +++ b/server/templates/offline.html @@ -39,7 +39,7 @@