@@ -14,7 +14,7 @@ console.log('service_worker.js LOADING');
14
14
// depends if you are using /docs/ or /master/
15
15
// /js_canvas_IO_docs/
16
16
17
- let verion_numner_passed_in = '00.04 ' ;
17
+ let verion_numner_passed_in = '00.05 ' ;
18
18
19
19
const CACHE_NAME = `dtk-gitio-cache_${ verion_numner_passed_in } ` ; // TODO add version number for ServWrkr updates
20
20
@@ -137,29 +137,40 @@ self.addEventListener('activate', (evt) => {
137
137
} ) ;
138
138
139
139
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
-
158
140
// fetch event - Cache falling back to network
141
+ var fc = 0 ;
142
+
159
143
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
+
160
149
event . respondWith (
161
150
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
+ } ) ;
163
174
} )
164
175
) ;
165
176
} ) ;
0 commit comments