React Service 작업자: 사용자가 탭을 닫도록 강요하지 않고 새 콘텐츠를 로드하시겠습니까?
2442 단어 reactserviceworker
아래 메소드 확인 - (이것은 create-react-app을 사용하여 react 앱을 빌드할 때 생성된 메소드이며, react-app/service-worker.js에서 찾을 수 있습니다.)
function registerValidSW(swUrl, config) {
navigator.serviceWorker
.register(swUrl)
.then(registration => {
registration.onupdatefound = () => {
const installingWorker = registration.installing;
if (installingWorker == null) {
return;
}
installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) {
// At this point, the updated precached content has been fetched,
// but the previous service worker will still serve the older
// content until all client tabs are closed.
console.log(
'New content is available and will be used when all ' +
'tabs for this page are closed. See'
);
// Execute callback
if (config && config.onUpdate) {
config.onUpdate(registration);
}
} else {
// At this point, everything has been precached.
// It's the perfect time to display a
// "Content is cached for offline use." message.
console.log('Content is cached for offline use.');
// Execute callback
if (config && config.onSuccess) {
config.onSuccess(registration);
}
}
}
};
};
})
.catch(error => {
console.error('Error during service worker registration:', error);
});
}
콘솔을 명확하게 볼 수 있습니다
New content is available and will be used when all tabs for > this page are closed.
이것을 달성하는 가장 좋은 방법은 무엇입니까? 따라서 페이지를 새로 고치기만 하면 이전에 저장된 캐시를 업데이트할 수 있습니다.
Reference
이 문제에 관하여(React Service 작업자: 사용자가 탭을 닫도록 강요하지 않고 새 콘텐츠를 로드하시겠습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shubhamak2/react-service-worker-load-new-content-without-forcing-the-user-to-close-the-tab-2ogp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)