У меня есть следующий код
index. js
if (navigator.serviceWorker) {
navigator.serviceWorker.register("/cache.js", {
scope: "/",
})
}
cache. js
const cacheName = "app";
self.addEventListener("fetch", (event) => {
event.respondWith(
caches.open(cacheName).then((cache) => {
return fetch(event.request).then((response) => {
cache.put(event.request, response.clone());
return response;
}).catch(() => {
return cache.match(event.request);
});
}),
);
});
self.addEventListener("activate", () => {
self.clients.claim();
});
self.addEventListener("install", (event) => {
event.waitUntil(
caches.open(cacheName).then((cache) => {
return cache.addAll(
[
"/",
"/index.js",
"/index.css",
"/manifest.webmanifest",
"/favicon.ico",
],
);
})
);
});
Каждое событие вызывается без ошибок, за исключением fetch
, которое вообще не вызывается. Я делаю это по всему https. У кого-нибудь есть идея, почему это не работает? Я просмотрел много соответствующих постов, и они дошли только до меня.