我已經使用.register註冊了一個service woker,並且可以在開發工具的Application選項卡中看到。現在我的問題是如何取消註冊這個服務人員。如何取消註冊並刪除舊的服務人員?
我已經運行此腳本
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-內部/
它在列表的底部顯示舊的和未註冊服務人員名單(見圖片)
那麼爲什麼我在這裏看到多餘的服務人員名單呢?何時更新?這是否是Chrome瀏覽器的默認行爲?