【发布时间】:2020-01-07 00:09:15
【问题描述】:
我已将 PWA 功能和服务工作者添加到我的 Angular 网站。发布到实时服务器后,许多用户开始遇到问题,例如:“无法访问此站点”,但是当用户单击 CTRL+F5 时,它可以正常工作。
为了立即解决,我已从我的版本中删除了 PWA 和服务工作者。尽管如此,许多用户都面临同样的问题或来自服务人员的“未找到索引页面”错误。
如何从最终用户的浏览器中删除或取消注册旧的 Service Worker?
我试过这段代码来删除服务工作者缓存:
if ('caches' in window) {
caches.keys()
.then(function(keyList) {
return Promise.all(keyList.map(function(key) {
return caches.delete(key);
}));
})
}
要删除服务人员,我添加了以下内容:
if(window.navigator && navigator.serviceWorker) {
navigator.serviceWorker.getRegistrations()
.then(function(registrations) {
for(let registration of registrations) {
registration.unregister();
}
});
}
【问题讨论】:
标签: angular service-worker progressive-web-apps