在 Angular 10 应用程序中,我正在动态设置标题,在一个实例中,Chrome 不会更新选项卡中的文本,但会更新 document.title
属性就好了。检查页面源和 <title></title>
标签也证实了这一点。
这适用于应用程序的其他情况,并且所讨论的情况在具有不同引擎(Mozilla Firefox 和旧版 Edge)的浏览器中运行良好。我在 Opera 中对其进行了测试,当然,它不起作用,因为引擎是相同的。
代码非常简单:
title: string; // arrives from Observable<>
constructor(public router: Router, private titleService: Title) {
this.subscriptions.push(router.events.subscribe(() => {
if (this.title)
this.titleService.setTitle(this.title);
}));
}
我试过直接将它设置为 document.title
并在 setTimeout
中执行这两种方法延迟为 0.2 到 2 秒(我在某处看到过黑客攻击,而不是我喜欢黑客解决方案),结果相同。
有什么想法吗?
最佳答案
这是一个旧帖子,但我最近也遇到了这个问题。这不是缓存问题。我不明白为什么它不更新,但你可以使用 routermodule 来覆盖页面标题:
export const routes: Routes = {
{path: 'url', component: Component, title: 'title'},
..
}
如果你想用它改变图像,在 favicon.ico 中设置另一个缩略图
关于angular - Chrome 不更新标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65252275/