gpt4 book ai didi

angular - 是否可以从应用程序代码中以 Angular 强制硬应用程序更新(Ctrl + F5 浏览器模拟)?

转载 作者:太空狗 更新时间:2023-10-29 18:35:27 26 4
gpt4 key购买 nike

有时我的 Angular 应用程序会更新。该应用程序已经上线,一些常见的使用场景是用户根本不关闭应用程序的浏览器选项卡,因此可以永远使用未经检查的过时版本。

我已经在后端实现了一种检查应用程序版本的机制,因此来自过时版本的所有调用都会被拒绝。

下一步是向用户显示一些“需要更新”对话框,以防此类后端拒绝,并在确认的情况下,最好不要强制用户手动按“Ctrl + F5”,而是自动执行从应用程序。

这可能吗?

最佳答案

我们需要使用拦截器来检测错误,如果检测到错误,我们将使用 window.location.reload(true) 重新加载页面;它将删除缓存并重新加载页面。

@Injectable()
export class myInterceptor implements HttpInterceptor {

constructor() { }

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
catchError(error => this.handleError(error))
);
}

private handleError(error: HttpErrorResponse): Observable<any> {
if (error.status === 404) {
// Do your thing here
window.location.reload(true);
}
}

希望对您有所帮助。

关于angular - 是否可以从应用程序代码中以 Angular 强制硬应用程序更新(Ctrl + F5 浏览器模拟)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55914213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com