Почему Google Chrome не может переключаться между разными Favicons на одном веб-сайте? - PullRequest
0 голосов
/ 15 марта 2019

У меня есть приложение ASP.Net, и в моем Layout.cshtm на основе условия я пытаюсь изменить Favicon, чтобы разные пользователи использовали разные Favicon в зависимости от этого условия. Вот фрагмент:

<!DOCTYPE html>
@{
    bool someCondition = UserInfo.IsCondition;
}
<html lang="@ISO.Substring(0, 2)" data-full-culture="@ISO">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    @if (someCondition == true) { 
            <title ng-bind="'title 1'"></title>
            <link rel="shortcut icon" href="/custom-favicon.ico" type="image/x-icon">
            <link rel="icon" href="/custom-favicon.ico" type="image/x-icon"> 
        }
    else {
            <title ng-bind="'title 2'"></title>
            // Chrome sets favicon.ico as default, so no need to set it here
        }
</head>
</html>

И favicon.ico, и custom-favicon.ico находятся в моей корневой директории моего проекта. Хотя мой заголовок изменяется в зависимости от условия, Favicon настроен на favicon.ico и не будет обновляться, даже если я заставляю его изменить.

Буду признателен за любую помощь по этому вопросу.

1 Ответ

1 голос
/ 16 марта 2019

Браузеры довольно ленивы в отношении favicon.В вашем конкретном случае было бы неплохо осторожно толкнуть их :) Будьте явными:

@if (someCondition == true) { 
    <title ng-bind="'title 1'"></title>
    <link rel="shortcut icon" href="/custom-favicon.ico">
}
else {
    <title ng-bind="'title 2'"></title>
    <link rel="shortcut icon" href="/favicon.ico">
}

Если это все еще не работает, вы можете:

  • Добавитьотметка времени в конце URL-адресов значков, чтобы браузеры каждый раз рассматривали их как новые файлы (например, /favicon.ico?v=@timestamp).
  • Используйте JS, чтобы явно указывать favicon, но это немного излишне.Например, см. faviconjs .

PS: Вам, вероятно, не нужны дублированные объявления shortcut icon / icon.Но принуждение браузера регулярно переключать значки может изменить это.Пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...