Я следовал инструкциям на https://www.pwabuilder.com, чтобы сделать мой сайт доступным в автономном режиме. В журнале консоли я получаю сообщения о том, что PWA был установлен и кэширован в автономном режиме, но я получаю сообщение об ошибке в заголовке.
Я был во многих потоках stackoverflow и других сайтах и ничегоЯ пытаюсь работает. Это не моя сильная сторона. Я UX / UI дизайнер, который умеет кодировать простые статические страницы, но сейчас это немного выше моего уровня квалификации.
Я действительно изо всех сил пытаюсь понять, как исправитьпроблема как (для меня) ошибка довольно расплывчатая. Я предполагаю, что что-то простое я пропустил. URL сайта - https://ovoc.netlify.com/, но я также свяжу манифеста и работника службы ниже
manifest.json
{
"dir": "ltr",
"lang": "en",
"name": "Our voice our community | Get involved in de…",
"scope": "/",
"display": "fullscreen",
"start_url": "https://ovoc.netlify.com/",
"short_name": "OVOC",
"theme_color": "transparent",
"description": "Our voice our community is a project run by BGC Wales to empower young people to engage in community decision making",
"orientation": "any",
"background_color": "transparent",
"related_applications": [],
"prefer_related_applications": false,
"icons": [{
"src": "assets/icons/logo.png",
"sizes": "192x192",
"type": "image/png"
}]
}
А вот служащий службы
// This is the "Offline copy of pages" service worker
const CACHE = "pwabuilder-offline";
// TODO: replace the following with the correct offline fallback page i.e.: const offlineFallbackPage = "index.html";
const offlineFallbackPage = "index.html";
// Install stage sets up the index page (home page) in the cache and opens a new cache
self.addEventListener("install", function (event) {
console.log("[PWA Builder] Install Event processing");
event.waitUntil(
caches.open(CACHE).then(function (cache) {
console.log("[PWA Builder] Cached offline page during install");
if (offlineFallbackPage === "index.html") {
return cache.add(new Response("TODO: Update the value of the offlineFallbackPage constant in the serviceworker."));
}
return cache.add(offlineFallbackPage);
})
);
});
// If any fetch fails, it will look for the request in the cache and serve it from there first
self.addEventListener("fetch", function (event) {
if (event.request.method !== "GET") return;
event.respondWith(
fetch(event.request)
.then(function (response) {
console.log("[PWA Builder] add page to offline cache: " + response.url);
// If request was success, add or update it in the cache
event.waitUntil(updateCache(event.request, response.clone()));
return response;
})
.catch(function (error) {
console.log("[PWA Builder] Network request Failed. Serving content from cache: " + error);
return fromCache(event.request);
})
);
});
function fromCache(request) {
// Check to see if you have it in the cache
// Return response
// If not in the cache, then return error page
return caches.open(CACHE).then(function (cache) {
return cache.match(request).then(function (matching) {
if (!matching || matching.status === 404) {
return Promise.reject("no-match");
}
return matching;
});
});
}
function updateCache(request, response) {
return caches.open(CACHE).then(function (cache) {
return cache.put(request, response);
});
}
Я действительно изо всех сил, и мой клиент - благотворительная организация, поэтому я очень хочу сделать эту работу для них, любая помощь будет с благодарностью!