Skip to content

Commit 0f86fe1

Browse files
enable cache
1 parent 97f6d80 commit 0f86fe1

File tree

1 file changed

+31
-20
lines changed

1 file changed

+31
-20
lines changed

docs/service_worker.js

+31-20
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ console.log('service_worker.js LOADING');
1414
// depends if you are using /docs/ or /master/
1515
// /js_canvas_IO_docs/
1616

17-
let verion_numner_passed_in = '00.04';
17+
let verion_numner_passed_in = '00.05';
1818

1919
const CACHE_NAME = `dtk-gitio-cache_${verion_numner_passed_in}`; // TODO add version number for ServWrkr updates
2020

@@ -137,29 +137,40 @@ self.addEventListener('activate', (evt) => {
137137
});
138138

139139

140-
// fetch event - service network requests
141-
//self.addEventListener('fetch', function(event) {
142-
// event.respondWith(fetch(event.request)); // pass request to network
143-
//});
144-
145-
// fetch event - network only w/ OFFLINE page
146-
//self.addEventListener('fetch', (evt) => {
147-
// if (evt.request.mode !== 'navigate') {
148-
// return;
149-
// }
150-
// evt.respondWith(fetch(evt.request).catch(() => {
151-
// return caches.open(CACHE_NAME).then((cache) => {
152-
// return cache.match('static/offline.html');
153-
// });
154-
// })
155-
// );
156-
//});
157-
158140
// fetch event - Cache falling back to network
141+
var fc = 0;
142+
159143
self.addEventListener('fetch', function(event) {
144+
fc += 1;
145+
console.log(`[SW] fetch:${fc}`);
146+
console.log(event.request.url);
147+
console.log(event);
148+
160149
event.respondWith(
161150
caches.match(event.request).then(function(response) {
162-
return response || fetch(event.request);
151+
// Return cached response if available
152+
if (response) {
153+
return response;
154+
}
155+
156+
// Otherwise fetch from network
157+
return fetch(event.request)
158+
.then(function(networkResponse) {
159+
// Optional: Cache new responses for future offline use
160+
// if (networkResponse.status === 200) {
161+
// let responseClone = networkResponse.clone();
162+
// caches.open(CACHE_NAME).then(function(cache) {
163+
// cache.put(event.request, responseClone);
164+
// });
165+
// }
166+
return networkResponse;
167+
})
168+
.catch(function(error) {
169+
console.error('Fetching failed:', error);
170+
// Return a fallback or offline page if you have one
171+
// return caches.match('/js_canvas_IO_docs/offline.html');
172+
throw error;
173+
});
163174
})
164175
);
165176
});

0 commit comments

Comments
 (0)