angular - 如何在不刷新页面的情况下更新 Angular 中的旧版本 Service Worker?
问题描述
我有一个 Angular 应用程序,我曾经在其中通过提示要求用户在发布新版本时更新应用程序。但是,现在我需要在没有用户输入的情况下强制更新。对于更新,我一直在使用 Angular Service Worker 和 SwUpdate 类。
我的问题是,当我使用据称强制自动更新的代码发布新版本时,使用旧版本应用程序的用户会不断看到要求他们更新的提示。如果他们确实更新了应用程序,则可以正常工作,但如果他们不更新,旧版本将不再与新实现的功能兼容。
这是我的新版本的自动更新代码:
public checkForUpdates() {
// console.log("checkForUpdates");
// console.log(this.updates.isEnabled);
if (this.updates.isEnabled) {
this.updates.available.subscribe((event) => {
console.log("current version is", event.current);
console.log("available version is", event.available);
this.updates.activateUpdate().then(() => document.location.reload());
//document.location.reload();
//this.promptUser(event);
});
this.updates.activated.subscribe((event) => {
console.log("old version was", event.previous);
console.log("new version is", event.current);
});
}
}
我怎样才能让现有的旧版本用户在没有他们输入的情况下进行更新?似乎如果他们不刷新或手动更新应用程序,他们将不会获得新版本。
解决方案
推荐阅读
- python - Python 快速实现 3D 数组的卷积/互相关
- spring - 使用 Maven 的 Spring Tool suite4 中的依赖关系图
- oracle - 在类型 = 发票级别创建的错误调整,其中金额小于总发票金额
- python - 如何使用 zip 通过定义的函数轻松获取列表中每个硬币对的数据框?(熊猫)
- javascript - 在点击事件中获取元素的 id 并以 id 作为参数进行 ajax 调用
- html - 表单提交后滚动 index.html 到#contact (django)
- python - 使用 Flask 在 MySQL DB 上插入新寄存器时出错
- python-3.x - a,b,c 中最大的
- javascript - 如何在 chrome 扩展中将数据发布/获取到另一台服务器
- javascript - 从外部 src 重新加载 HTML 中的脚本?