2023-04-18 19:07:58 +08:00
|
|
|
// https://github.com/siyuan-note/siyuan/pull/8012
|
2023-04-25 10:57:14 +08:00
|
|
|
export const registerServiceWorker = (scriptURL: string, scope = "/", workerType: WorkerType = "module") => {
|
2023-04-19 18:56:48 +08:00
|
|
|
if (!("serviceWorker" in navigator) || typeof (navigator.serviceWorker) === "undefined" ||
|
|
|
|
|
!("caches" in window) || !("fetch" in window)) {
|
2023-04-19 18:55:50 +08:00
|
|
|
return;
|
2023-04-18 19:07:58 +08:00
|
|
|
}
|
2023-04-19 15:43:24 +08:00
|
|
|
// REF https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
|
|
|
|
|
window.navigator.serviceWorker
|
|
|
|
|
.register(scriptURL, {
|
2023-04-25 10:29:26 +08:00
|
|
|
scope,
|
|
|
|
|
type: workerType,
|
2023-04-19 15:43:24 +08:00
|
|
|
}).then(registration => {
|
|
|
|
|
registration.update();
|
|
|
|
|
}).catch(e => {
|
|
|
|
|
console.debug(`Registration failed with ${e}`);
|
|
|
|
|
});
|
2023-04-18 19:07:58 +08:00
|
|
|
};
|