angular - 服务工作者获取新版本时显示加载屏幕
问题描述
我正在使用服务工作者来缓存/更新我们的应用程序,但我们想“强制”用户始终拥有应用程序的最新版本。这样做的原因是我们不想收到以前版本的电话。
当我们发现用户正在使用旧版本的应用程序时,我们已经阻止了我们的 API 调用。
但是现在我们想挂接到 Angular Service Worker 以在他获取新版本时显示加载屏幕。直到现在我还没有找到一种方法来做到这一点。我正在尝试使用以下代码:
if ('serviceWorker' in navigator && environment.production) {
navigator.serviceWorker.register('/ngsw-worker.js').then(registred => {
console.log('-- registred worker', registred);
registred.addEventListener('fetch', event => {
console.log('-- fetching', event);
});
registred.addEventListener('install', event => {
console.log('-- installing', event);
});
registred.addEventListener('updatefound', event => {
console.log('-- found a update?', event);
});
});
}
我似乎无法收听 fetch 事件(我认为这是我想要的事件)
还是有其他方法可以查看是否有新版本?或者是否有更好的图书馆/方式来使用服务工作者,以便我获得更多控制权?
希望有人可以帮助我!
解决方案
推荐阅读
- google-app-maker - 如何在 Google 应用制作工具中将多个应用连接在一起
- machine-learning - 多层感知器与 SVM / 随机森林
- python - 如何使用openCV将图像保存在文件夹中
- c - 将整数添加到指针有什么作用?
- java - How to check if excel column headers are in certain order in apache poi
- spring-mvc - 没有xml的基于Spring MVC java的配置不起作用
- reactjs - ReactNative 警告:列表中的每个孩子都应该有一个唯一的“关键”道具
- laravel - 我需要从淘汰赛中获取 id 并以表格形式传递
- c# - 调用注入类的事件
- django - 如何检查Django中是否已经存在类?