SW and Offline page fixes
This commit is contained in:
parent
64eefb3f59
commit
3b2a74a561
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
window.loadTable("list");
|
||||
window.loadTable("list", true, 20000, true);
|
||||
</script>
|
||||
</div>
|
||||
<br>
|
||||
|
|
Loading…
Reference in New Issue