-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsw.js
32 lines (26 loc) · 968 Bytes
/
sw.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
self.addEventListener('install', (event) => {
console.log('Service Worker installed');
});
self.addEventListener('activate', (event) => {
console.log('Service Worker activated');
});
self.addEventListener('fetch', (event) => {
if (event.request.destination === 'document') {
event.respondWith(
(async () => {
const response = await fetch(event.request);
const text = await response.text();
// Log response status to check if the fetch is successful
console.log('Fetched:', event.request.url);
// Inject the manifest link dynamically before the closing </head> tag
const modifiedResponse = text.replace(
'</head>',
'<link rel="manifest" href="/manifest.json"></head>'
);
return new Response(modifiedResponse, {
headers: response.headers,
});
})()
);
}
});