mirror of
https://github.com/KuekHaoYang/KVideo.git
synced 2026-08-12 23:33:43 +08:00
32 lines
892 B
TypeScript
32 lines
892 B
TypeScript
'use client';
|
|
|
|
import { useEffect } from 'react';
|
|
|
|
export function ServiceWorkerRegister() {
|
|
useEffect(() => {
|
|
if (!('serviceWorker' in navigator)) return;
|
|
|
|
const registerServiceWorker = () => {
|
|
navigator.serviceWorker.register('/sw.js')
|
|
.then((registration) => {
|
|
registration.update().catch(() => {
|
|
// Ignore update check errors.
|
|
});
|
|
})
|
|
.catch(() => {
|
|
// Ignore registration failures.
|
|
});
|
|
};
|
|
|
|
if (document.readyState === 'complete') {
|
|
registerServiceWorker();
|
|
return;
|
|
}
|
|
|
|
window.addEventListener('load', registerServiceWorker, { once: true });
|
|
return () => window.removeEventListener('load', registerServiceWorker);
|
|
}, []);
|
|
|
|
return null;
|
|
}
|