2017-01-13 4 views
7

Chrome에서는 개발자 도구에서 서비스 작업자 캐시를 삭제할 수 있습니다.Firefox에서 서비스 작업자 캐시를 지우는 방법은 무엇입니까?

Firefox에서 어떻게 구현할 수 있습니까?

  • Ctrl + F5

으로 페이지를 다시로드 about:preferences#privacy

  • 에서 캐시를 비우 about:serviceworkers
  • 에서 서비스 등록을 취소하지만 여전히 :

    는 지금까지 시도했습니다 거기 ...

  • 답변

    2

    위에서 언급했듯이 지금은 불가능합니다. 그러나 캐시 항목과 캐시를 삭제하면 구현되어 soone (https://bugzilla.mozilla.org/show_bug.cgi?id=1304297)을 배포해야합니다. 그리고 이미 Firefox Developer Edition에서 사용할 수 있습니다.

    +0

    정보 주셔서 감사합니다 – Supersharp

    +1

    이제 v52 이후 가능합니다 – Supersharp

    +1

    @Supersharp 어떻게? –

    11

    당신은 foll을 실행할 수 있습니다. 파이어 폭스 웹 콘솔에서 코드를 인해 :

    caches.keys().then(function (cachesNames) { 
        console.log("Delete " + document.defaultView.location.origin + " caches"); 
        return Promise.all(cachesNames.map(function (cacheName) { 
        return caches.delete(cacheName).then(function() { 
         console.log("Cache with name " + cacheName + " is deleted"); 
        }); 
        })) 
    }).then(function() { 
        console.log("All " + document.defaultView.location.origin + " caches are deleted"); 
    }); 
    

    을 MDN에이 코드 검사 Cache Web API page에 대한 자세한 내용은.

    Firefox의 현재 버전에서는 Storage Inspector를 사용하여 Service Worker 캐시를 지울 수 없습니다. 현재 사용 가능한 기능에 대해서는 Storage Inspection documentation을 참조하십시오. Service Worker 캐시는 브라우저 HTTP 캐시와 독립적으로 작동하고 스크립트에 의해서만 관리되기 때문에 about:preferences#privacy을 사용하거나 Service Worker를 등록 취소 할 수 없습니다. Service Worker specification에서 관련 발췌 :

    5.2 캐시 일생을 캐시 인스턴스 이해는 브라우저의 HTTP 캐시의 일부가 아닙니다. 캐시 개체는 제작자가 관리해야하는 개체입니다. 제작자가 명시 적으로 캐시 개체를 요청하지 않으면 캐시 개체가 업데이트되지 않습니다. 캐시 객체는 작성자가 항목을 삭제하지 않는 한 만료되지 않습니다. 서비스 작업자 스크립트가 업데이트 되었기 때문에 캐시 개체가 사라지지 않습니다. 즉, 캐시는 자동으로 업데이트되지 않습니다. 업데이트는 수동으로 관리해야합니다. 이는 작성자가 캐시를 이름으로 버전 화하고 안전하게 작동 할 수있는 서비스 작업자 버전에서만 캐시를 사용해야 함을 의미합니다.