자주 묻는 질문 How do I uninstall a Service Worker?은 자바 스크립트를 사용하여 서비스 작업자를 등록 취소 한 경우 괜찮습니다. 서비스 작업자가 등록을 취소 할 때 캐시를 지우려면 어떻게해야합니까?등록을 취소 할 때 서비스 작업자 캐시를 지우려면 어떻게해야합니까?
MDN unregister
부터 서비스 작업자는 등록을 취소하기 전에 진행중인 작업을 모두 완료합니다. 따라서 uninstall
이벤트를 수신 할 수 있어야하지만 그러한 이벤트는 존재하지 않는 것 같습니다. as far as I can tell. 낄낄 거림에 대해서는 서비스 직원에게 self.addEventListener('uninstall', ...)
을 추가하려고 시도했지만 예상대로 등록 해제시에는 실행되지 않았습니다. 또한 등록 취소시 보내지는 message
을 청취하려고했습니다 ... 주사위가 없습니다.
나는 또한 service worker state을보고 생각하지만 아무도 installing
, installed
, activating
, activated
및 redundant
의 관련 나타납니다. 말할 것도없이, 그것은 서비스 직원에게 전달되는 메시지가 가능한 것처럼 보이지 않기 때문에, 어쨌든 서비스 직원 외부에서 uninstalling
상태로 무엇을 할 지 확신하지 못합니다.
빨대에 도달하면 uninstalling flag에 대한 참조를 볼 수 있지만 어디에도 노출되어 있지 않습니다. 제안?
아, 너무 간단합니다! 서비스 직원이 만든 캐시는 해당 서비스 직원에게만 제공된다는 것이 내 머리 속에 갇혀있었습니다. 서비스 작업자에게'unregister'를 호출하는 것과 동시에 제거하고자하는 각각의 캐시 (반드시 그것들 전부는 아님)에 대해'caches.delete ('cache_name')'을 호출 할 수 있습니다. 감사! – MDMower