mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
ui: update service worker
This commit is contained in:
1 parent
4d29d5472f
commit
18a1bb3fca
1 file changed
+16
-7
@@ -71,13 +71,10 @@ self.addEventListener('install', (event) => event.waitUntil((async () => {
|
|||||||
})()));
|
})()));
|
||||||
|
|
||||||
self.addEventListener('activate', (event) => {
|
self.addEventListener('activate', (event) => {
|
||||||
const valid = [PRECACHE];
|
|
||||||
initConfig();
|
initConfig();
|
||||||
event.waitUntil((async () => {
|
event.waitUntil(self.clients.claim());
|
||||||
const names = await caches.keys();
|
const valid = [PRECACHE];
|
||||||
await Promise.all(names.filter((name) => !valid.includes(name)).map((p) => caches.delete(p)));
|
caches.keys().then((names) => names.filter((name) => !valid.includes(name)).map((p) => caches.delete(p)));
|
||||||
self.clients.claim();
|
|
||||||
})());
|
|
||||||
});
|
});
|
||||||
|
|
||||||
async function get(request: Request) {
|
async function get(request: Request) {
|
||||||
@@ -92,6 +89,11 @@ async function get(request: Request) {
|
|||||||
credentials: isResource ? 'same-origin' : 'include',
|
credentials: isResource ? 'same-origin' : 'include',
|
||||||
headers: request.headers,
|
headers: request.headers,
|
||||||
body: request.body,
|
body: request.body,
|
||||||
|
redirect: request.redirect,
|
||||||
|
keepalive: request.keepalive,
|
||||||
|
referrer: request.referrer,
|
||||||
|
referrerPolicy: request.referrerPolicy,
|
||||||
|
signal: request.signal,
|
||||||
});
|
});
|
||||||
if (r.ok) {
|
if (r.ok) {
|
||||||
console.log('Load success from ', source.toString());
|
console.log('Load success from ', source.toString());
|
||||||
@@ -145,7 +147,14 @@ self.addEventListener('fetch', (event: FetchEvent) => {
|
|||||||
console.log(`Caching ${event.request.url}`);
|
console.log(`Caching ${event.request.url}`);
|
||||||
const [cache, response] = await Promise.all([
|
const [cache, response] = await Promise.all([
|
||||||
caches.open(PRECACHE),
|
caches.open(PRECACHE),
|
||||||
fetch(url, { headers: event.request.headers }), // Fetch from url to prevent opaque response
|
fetch(url, {
|
||||||
|
headers: event.request.headers,
|
||||||
|
redirect: event.request.redirect,
|
||||||
|
keepalive: event.request.keepalive,
|
||||||
|
referrer: event.request.referrer,
|
||||||
|
referrerPolicy: event.request.referrerPolicy,
|
||||||
|
signal: event.request.signal,
|
||||||
|
}), // Fetch from url to prevent opaque response
|
||||||
]);
|
]);
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
cache.put(url, response.clone());
|
cache.put(url, response.clone());
|
||||||
|
|||||||
Reference in new issue
Block a user