UNPKG

urbi-exhibitions

Version:
50 lines (49 loc) 1.84 kB
const t = (c) => `/${c}`; function i(c) { if (!("serviceWorker" in navigator)) { console.warn("Service Worker не поддерживается данным браузером."); return; } const { swPath: o = t("sw.js"), onRegistered: s, onError: r } = c || {}, l = () => new URL(window.location.href).searchParams.get("cache") === "clear", a = async () => caches.keys().then((e) => { Promise.all(e.map((n) => caches.delete(n))); }).then(() => { console.log("Все кэши очищены."); }).catch((e) => { console.error("Ошибка при очистке кэша:", e); }); window.addEventListener("load", () => { l() ? navigator.serviceWorker.getRegistration().then((e) => { e ? e.unregister().then((n) => { console.log( n ? "Service Worker успешно отозван." : "Не удалось отозвать Service Worker." ), a(); }) : (console.log("Нет зарегистрированного Service Worker."), a()); }).catch((e) => { console.error( "Ошибка при получении регистрации Service Worker:", e ), r == null || r(e); }) : navigator.serviceWorker.register(o).then((e) => { e.update(), console.log( "Service Worker зарегистрирован. Scope:", e.scope ), s == null || s(e); }).catch((e) => { console.error("Не удалось зарегистрировать Service Worker:", e), r == null || r(e); }); }); } async function h() { return caches.keys().then( (c) => Promise.all(c.map((o) => caches.delete(o))) ).then(() => { console.log("Все кэши очищены."); }).catch((c) => { console.error("Ошибка при очистке кэша:", c); }); } export { h as c, t as g, i };