File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -22,12 +22,32 @@ self.addEventListener("activate", (event) => {
2222 self . clients . claim ( )
2323} )
2424
25- // 3. Fetch: si falla una navegacion, mostrar offline.html
25+ // 3. Fetch: estrategia mixta
2626self . addEventListener ( "fetch" , ( event ) => {
27+ const url = new URL ( event . request . url )
28+
29+ // Assets estaticos: Cache First (instantaneo)
30+ if ( url . pathname . match ( / \. ( c s s | j s | p n g | j p g | s v g | w o f f 2 ) $ / ) ) {
31+ event . respondWith (
32+ caches . match ( event . request ) . then ( ( cached ) => {
33+ if ( cached ) return cached
34+ return fetch ( event . request ) . then ( ( response ) => {
35+ const clone = response . clone ( )
36+ caches . open ( CACHE_NAME )
37+ . then ( ( cache ) => cache . put ( event . request , clone ) )
38+ return response
39+ } )
40+ } )
41+ )
42+ return
43+ }
44+
45+ // Navegacion HTML: Network First con fallback offline
2746 if ( event . request . mode === "navigate" ) {
2847 event . respondWith (
2948 fetch ( event . request )
3049 . catch ( ( ) => caches . match ( "/offline.html" ) )
3150 )
51+ return
3252 }
3353} )
You can’t perform that action at this time.
0 commit comments