Почему динамически установленный значок исчезает в IE11 при изменении страницы? - PullRequest
0 голосов
/ 30 августа 2018

Я использую угловой 5.2.11. У меня есть служба брендинга, которая отправляет разные URL-адреса в приложение. Я устанавливаю favicon, когда страница загружается так:

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

В IE11 при смене страницы с помощью route-service, favicon устанавливается из корня сайта "/favicon.ico". И даже смена консоли не работает. Но если страница перезагружается, фавикон начинает меняться нормально.

Я пытался заменить ссылку favicon каждый раз, когда страница меняется, но она не работает. Я предполагаю, что это ошибка угловой маршрутизации или IE11. Мысли

1 Ответ

0 голосов
/ 30 августа 2018

Вы можете установить динамическую ссылку значка избранного, используя класс 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...