fix
This commit is contained in:
parent
5f1855780b
commit
6418e5b879
|
|
@ -136,6 +136,11 @@ export default page({
|
||||||
const Editor = local.Editor;
|
const Editor = local.Editor;
|
||||||
if (local.loading || !Editor) return <Loading note="base-page" />;
|
if (local.loading || !Editor) return <Loading note="base-page" />;
|
||||||
|
|
||||||
|
navigator.serviceWorker.controller?.postMessage({
|
||||||
|
type: "add-cache",
|
||||||
|
url: location.href,
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Editor session={local.session} site_id={site_id} page_id={page_id} />
|
<Editor session={local.session} site_id={site_id} page_id={page_id} />
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,11 @@ export default page({
|
||||||
params.page_id = params._;
|
params.page_id = params._;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
navigator.serviceWorker.controller?.postMessage({
|
||||||
|
type: "add-cache",
|
||||||
|
url: location.href,
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Live
|
<Live
|
||||||
mode={"dev"}
|
mode={"dev"}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ const registerServiceWorker = async () => {
|
||||||
if ("serviceWorker" in navigator) {
|
if ("serviceWorker" in navigator) {
|
||||||
try {
|
try {
|
||||||
await navigator.serviceWorker.register(
|
await navigator.serviceWorker.register(
|
||||||
new URL("./sworker.js", import.meta.url),
|
new URL("./sworker.ts", import.meta.url),
|
||||||
{
|
{
|
||||||
type: "module",
|
type: "module",
|
||||||
scope: "/",
|
scope: "/",
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
import { manifest, version } from "@parcel/service-worker";
|
|
||||||
|
|
||||||
async function install() {
|
|
||||||
const cache = await caches.open(version);
|
|
||||||
await cache.addAll(manifest);
|
|
||||||
}
|
|
||||||
addEventListener("install", (e) => e.waitUntil(install()));
|
|
||||||
|
|
||||||
async function activate() {
|
|
||||||
const keys = await caches.keys();
|
|
||||||
await Promise.all(keys.map((key) => key !== version && caches.delete(key)));
|
|
||||||
}
|
|
||||||
addEventListener("activate", (e) => e.waitUntil(activate()));
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
import { manifest, version } from "@parcel/service-worker";
|
||||||
|
|
||||||
|
async function install() {
|
||||||
|
const cache = await caches.open(version);
|
||||||
|
await cache.addAll(manifest);
|
||||||
|
}
|
||||||
|
addEventListener("install", (e) => (e as ExtendableEvent).waitUntil(install()));
|
||||||
|
|
||||||
|
async function activate() {
|
||||||
|
const keys = await caches.keys();
|
||||||
|
await Promise.all(keys.map((key) => key !== version && caches.delete(key)));
|
||||||
|
}
|
||||||
|
addEventListener("activate", (e) =>
|
||||||
|
(e as ExtendableEvent).waitUntil(activate())
|
||||||
|
);
|
||||||
|
|
||||||
|
addEventListener("fetch", async (evt) => {
|
||||||
|
const e = evt as FetchEvent;
|
||||||
|
e.respondWith(
|
||||||
|
(async () => {
|
||||||
|
const r = await caches.match(e.request);
|
||||||
|
if (r) {
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
return await fetch(e.request);
|
||||||
|
})()
|
||||||
|
);
|
||||||
|
});
|
||||||
|
addEventListener("message", async (e) => {
|
||||||
|
const type = e.data.type;
|
||||||
|
const cache = await caches.open(version);
|
||||||
|
|
||||||
|
switch (type) {
|
||||||
|
case "add-cache":
|
||||||
|
if (!(await cache.match(e.data.url))) {
|
||||||
|
await cache.add(e.data.url);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue