Ich arbeite mit einem Service Worker und Socket.io für eine mobile Scorekeeping-App. Die Ergebnisse werden in einer Datenbank gespeichert und in HTML gerendert, und dieser HTML-Code wird im Service Worker zwischengespeichert. Es ist etwas, was ich mit dem Service Worker erreichen möchte, aber wenn die Scores aktualisiert werden, werden die alten Scores bei der Aktualisierung angezeigt.Service Worker + Socket.io: Überschreibt die zwischengespeicherte Seite bei einem neuen Besuch
Wie kann ich den Service Worker veranlassen, bei jedem Besuch oder Aktualisieren der Seite die neueste Version einer HTML-Seite zu laden?
Mein Code zum Abrufen und Caching:
this.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
if(response) {
console.log('found cached response', response);
return response;
} else {
console.log('response not in cache, fetching it');
return fetchAndCache(event);
}
})
);
});
function fetchAndCache(event) {
return fetch(event.request).then(function(response) {
return caches.open('UFA-other-1.0').then(function(cache) {
console.log('fetched and caching', event.request);
cache.put(event.request, response.clone());
return response;
});
});
}