我已经使用.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浏览器的默认行为?