2017-09-26 14 views
0

.register를 사용하여 서비스 워커를 등록했으며 개발자 도구의 응용 프로그램 탭에서 확인할 수 있습니다. 이제 내 질문은이 서비스 작업자 등록을 취소하는 방법입니다.이전 서비스 직원을 등록 취소하고 제거하는 방법은 무엇입니까?

나는이 스크립트

if ('serviceWorker' in navigator) { 
     window.addEventListener('load', function() { 
       console.group('====SW registration======='); 
       navigator.serviceWorker.register('/sw.js', {scope: './'}).then(function(registration) { 
        console.log('SW registratered successfully'); 
        console.log(registration); 
        registration.unregister().then(function(result) { 
         console.log('Unregistered done', result); 
        }); 
       }).catch(function(error){ 
        console.error('sw registration failed', error); 
       }); 
       console.groupEnd(); 
     }); 
} 

를 실행 한 그러나 나는이 일을함으로써, 우리가 실제로 먼저 서비스 노동자를 등록하는 것을 볼 수 후 등록 취소. 이것은 나에게 올바른 방법이 아닌 것 같습니다.

또한, 나는> 개발 도구에서 서비스 노동자 근처에 등록 취소 링크 응용 프로그램에 서비스 노동자을 클릭하고 또한 응용 프로그램> 지우기 저장을 클릭하고 다시 엽니 다 URL을 새 탭에서. 내가 크롬을 확인할 때

하지만 :

이 목록의 맨 아래에 이전 및 등록 서비스 노동자의 목록을 표시합니다 // serviceworker - 내부/(참조 이미지)

unregistered sw

그렇다면 중복 서비스 작업자 목록을 왜 여기에서 볼 수 있습니까? 업데이트 할 시점은 언제입니까? 이것은 크롬 브라우저의 기본 동작입니다. 당신이 서비스 노동자의 등록을 취소 할 왜 당신은 를 지정해야

답변

1

. 당신은 /service-worker.js 파일을 없애 완전히

  • 당신은 새로운/업데이트 SW를하고 교체 할 SW를 제거 할

    • : 내 생각

      는 두 가지 가능성이 있습니다 이전

    첫 번째 경우 : 체크 아웃이 답변 : How do I uninstall a Service Worker?

    두 번째 경우 :,이전 SW를 등록 해제 할 필요는 없습니다. /service-worker.js의 코드를 업데이트하고 이전 SW 위에 코드를 등록하십시오. 이것은 일반적인 시나리오입니다. 새로운 updatet SW가 인계 받아 쓸모없는 소프트웨어가 사라집니다. 나는 당신이 매우 신중하게 튜토리얼을 읽으십시오 : https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle https://developers.google.com/web/fundamentals/getting-started/primers/service-workers

    내가 을 강조하고있어주의 깊게 그것은 잘못과 완전히 주방장 웹 사이트 :

    SW 관련 물건을 얻는 것은 매우 간단하기 때문에