为什么页面更改后在IE11中动态设置的图标消失了?

时间:2018-08-30 12:17:05

标签: angular internet-explorer

我正在使用角度5.2.11。我有一个品牌服务,可以将不同的URL发送到网站图标到应用程序。我在页面加载时设置了图标,例如:

const favicon = document.createElement('link');
favicon.setAttribute('type', 'image/x-icon');
favicon.setAttribute('rel', 'icon');
favicon.setAttribute('href', '//someUrlWherePlacedFavicon');
document.head.appendChild(favicon);

在IE11中使用路由服务更改页面时,从站点“ /favicon.ico”的根目录设置了favicon。甚至从控制台更改不起作用。但是,如果重新加载页面,则收藏夹图标开始正常更改。

每次页面更改时,我都尝试替换favicon链接,但是它不起作用。 我想这是角度路由或IE11的错误。有想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用组件内部的DOCUMENT类来设置动态收藏夹图标链接。

在index.html中设置链接标记

<link id="appFavicon" rel="icon" type="image/x-icon" href="favicon.ico">

以及代码导入中的某处

import { Component, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/platform-browser';

constructor(@Inject(DOCUMENT) private _document: HTMLDocument) {}

this._document.getElementById('appFavicon').setAttribute('href', '/your/icon/path.ico');