PWA support (desktop & mobile) (#8012)

* 🎨 Improve return to feature of the auth page

* 🎨 PWA support

* Update manifest.webmanifest

* 🎨 add `service-worker.js`

* Update service-worker.js

* Update service-worker.js

* Update service-worker.js
This commit is contained in:
颖逸 2023-04-18 19:07:58 +08:00 committed by GitHub
parent e1d3789ced
commit 93e4bb1adf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 816 additions and 30 deletions

View file

@ -0,0 +1,32 @@
// https://github.com/siyuan-note/siyuan/pull/8012
export const registerServiceWorker = (scriptURL: string) => {
if (window.navigator.serviceWorker) {
// REF https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
window.navigator.serviceWorker
.register(scriptURL, {
scope: "./",
type: "module",
}).then(registration => {
if (registration.installing) {
console.debug("Service worker installing");
} else if (registration.waiting) {
console.debug("Service worker installed");
} else if (registration.active) {
console.debug("Service worker active");
}
registration.update();
}).catch(e => {
console.debug(`Registration failed with ${e}`);
});
// REF https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/message_event
window.navigator.serviceWorker.addEventListener("message", event => {
// event is a MessageEvent object
console.debug("client: onmessage", event);
});
window.navigator.serviceWorker.ready.then(registration => {
registration.active.postMessage("client: post message");
});
}
};