Значок не работает в IE

У меня есть сайт, использующий настраиваемый favicon.ico. Значок отображается должным образом во всех браузерах, кроме IE. При попытке отобразить значок в IE я получаю большой красный крестик; при отображении значка в другом браузере он отображается нормально. Источник страницы включает и он работает в других браузерах. Спасибо за твои мысли.

Обновлено: РЕШЕНО: источником проблемы был файл jpg, переименованный в ico. Я создал файл как ico, и он работает должным образом. Спасибо за ваш вклад.

Не могли бы вы показать нам HTML-код, который вы используете для указания значка?

sblundy 23.09.2008 20:20

Вы имеете в виду, что когда вы переходите по URL-адресу напрямую, он тоже показывает битое изображение?

Jim 23.09.2008 20:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
41
2
114 760
22
Перейти к ответу Данный вопрос помечен как решенный

Ответы 22

Ответ принят как подходящий

Правильно, вы не были настолько полезны (предоставление исходного кода было бы действительно полезным!), Но вот ... Некоторые вещи, которые нужно проверить:

Код такой:

<link rel = "icon" href = "http://www.example.com/favicon.ico" type = "image/x-icon" />
<link rel = "shortcut icon" href = "http://www.example.com/favicon.ico" type = "image/x-icon" />

Это в <head>?

Является ли изображение файлом ico настоящий? (переименование растрового изображения - это не настоящий .ico! Слегка другой формат)

Работает ли при добавлении страницы в закладки?

Если вы еще не создали .ico правильно, попробуйте использовать этот сайт для создания настоящий .ico: favicon.co.uk

Oli 23.09.2008 20:28

Не уверен, откуда я скопировал и вставил это из - но хороший для IE "Поскольку IE загружает ваш значок из папки временных файлов Интернета, он должен иметь возможность хранить его там. Если вы устанавливаете директиву no-cache для файл значка, то IE не сможет отобразить ваш значок и вместо него отобразит значок по умолчанию. Вы можете использовать Fiddler для проверки ».

Jason Jong 08.02.2013 09:27

Установка абсолютного пути в стихе относительного пути в href кажется неправильной. Что делать, если изображение не является общедоступным вне приложения (до публикации)? Или установка абсолютного пути - решение, позволяющее заставить его работать в IE? Я бы не считал это лучшим решением.

user1653042 29.08.2019 20:45

Хотите поделиться URL-адресом? Многие браузеры справляются с иконками в (например) формате png, в то время как у IE часто возникали проблемы. - Также более старые версии IE не проверяли источник html на предмет расположения значка, а просто целенаправленно пытались получить "/favicon.ico" с веб-сервера.

Вы пытались поместить значок в URI «/favicon.ico»? IE может не знать о способе ссылки на него тегом ссылки.

Подробнее из W3.

Однажды я использовал PNG как favicon.ico, и он отображался во всех браузерах, кроме IE. Возможно, что-то в файле заставляет IE не распознавать его. Также убедитесь, что это 32x32. Но не знаю, имеет ли это значение. Но я должен был убедиться в этом, чтобы увидеть это в IE.

Надеюсь, это поможет. Попробуйте использовать файл ico из другого места, чтобы посмотреть, работает ли он.

Если вы пробовали все, что описано выше, но по-прежнему не работает в IE, проверьте настройки IIS, если вы используете Windows Server. Убедитесь, что для параметра «Заголовки HTTP»> «Разрешить истечение срока действия контента» НЕ установлено значение «Срок действия истекает немедленно».

Я знаю, что сейчас это действительно старая тема, но, поскольку это первая тема, которая возникла в моем поиске в Google, я просто хотел добавить к ней свое решение:

У меня тоже была эта проблема со значком, который был предоставлен клиентом. Он отображается во всех браузерах, кроме IE. Добавление тегов link или meta не помогло, поэтому я начал смотреть на формат файла значка. Оказалось, что это действующий файл значка (а не просто переименованное изображение), но в итоге его исправили в преобразовать его в изображение, сохранить как GIF, а затем преобразовать обратно в значок.
. Также не забудьте очистить кеш IE во время тестирования.

 <link rel = "shortcut icon" type = "image/x-icon" href = "FolderName/favicon.ico" />
  1. Ваш favicon.ico должен быть помещен между тегом голова
  2. размер: 16 X 16
  3. а для Internet Explorer он должен быть прозрачным (внешняя белая часть не должна быть видна)

В IE и FireFox favicon.ico запрашивается только на первой странице, посещенной на сайте, что означает, что если favicon.ico требует входа в систему (например, ваш сайт является закрытым сайтом и требует входа в систему), то значок не будет отображаться.

Решение состоит в том, чтобы добавить исключение для favicon.ico, например, в ASP.Net, которое вы добавляете в web.config:

<location path = "favicon.ico">
  <system.web>
     <authorization>
       <allow users = "*" />
     </authorization>
  </system.web>
</location> 

@yo, +1 за очень важное знание поведения браузеров в первом абзаце ответа.

Nik Sumeiko 23.12.2013 15:10

похоже, это проблема страниц ASPX, мне никогда не удавалось показать значок на любой странице для IE (все остальные, да, Chrome, FF и safari), единственные сайты, которые я видел, которые являются исключением из этого правила, - это bing .com, msdn.com и другие, принадлежащие MS и работающие на asp.net, есть кое-что, о чем они нам не говорят! даже всемирно известные сайты не могут отображаться в IE, например: manu.com (самая просматриваемая спортивная команда в мире) aspx-сайт и не может отображать значок в IE. http://www.manutd.com/favicon.ico показывает значок.

Пожалуйста, докажите, что я ошибаюсь.

РЕШЕНИЕ :

  • Я создал значок из существующего файла png, просто изменив расширение изображения с png на ico. Я использую тему drupal 7 bartik, поэтому я загрузил ярлык на сервер, и он РАБОТАЕТ для Chrome и Firefox, но не для IE. Кроме того, значок изображения был белым пустым на рабочем столе.

  • Затем я последовал совету некоторых ребят и уменьшил размер изображения до 32x32 пикселей с помощью редактора изображений (gimp 2 <<

  • Я загрузил значок так же, как и раньше, и он отлично работал во всех браузерах.

Я люблю вас, ребята, в stackoverflow, вы помогли мне решить МНОГО проблем. БЛАГОДАРЮ ВАС!

Спасибо за вашу помощь. Я пробовал разные варианты, но у меня сработал приведенный ниже.

<link rel = "shortcut icon" href = "/favicon.ico" >
<link rel = "icon" type = "/image/ico"  href = "/favicon.ico" >

Я добавил две вышеуказанные строки в заголовок своей страницы, и они работали во всех браузерах.

Спасибо

Может быть, это поможет другим.

Для меня ICON не отображался в IE даже после выполнения всех шагов.

Наконец я нашел заметку в MSDN Устранение неполадок со значками ярлыков.

Verify that Internet Explorer can store the shortcut icon in the Temporary Internet Files folder. If you have set Internet Explorer to not keep a cache, then it will not be able to store the icon and will display the default Internet Explorer shortcut icon instead.

Я использовал IE в режиме «In Private», как только я проверил его в нормальном режиме .... Значок Fav отображается правильно.

Если кто-нибудь дойдет до этого ответа:

Та же проблема: не работала в IE (включая IE 10), работала везде.

Оказывается, это не настоящий ICO-файл. Я исправил это, загрузив его в http://www.favicon.cc/, а затем загрузив снова.

Сначала я протестировал его, сгенерировав случайный файл .ico на этом сайте и используя его вместо исходного файла. Увидел, что это сработало.

Я нашел здесь комбинацию ссылки на создателя значка и использовал msdn.microsoft.com/en-us/library/… в качестве руководства ПЛЮС, НЕ называя его «favicon», поскольку это, казалось, конфликтовало с другими кешированными значками. "myicon.ico" в конце концов заработал после того, как он сводил меня с ума на долгие годы

gavin 06.08.2013 17:50

Спасибо! IE снова за это! >. <"Сломанный" файл .ico работал как в Chrome, так и в Firefox, но не в IE. Использовал инструмент, который вы указали по ссылке, и он сработал!

Whyser 13.11.2013 15:41

У меня была именно эта проблема, и, похоже, ничего не работало. Очистив кеш браузера бесчисленное количество раз и даже обновив IE до версии 9, я обнаружил следующее: http://favicon.htmlkit.com/favicon/

Вышеупомянутая ссылка отлично решила проблему для меня!

Что касается несовместимости с IE9, я наткнулся на сообщение в блоге это, в котором даются советы по созданию значка, который распознается IE9.

По сути, попробуйте создать значок со следующим сайтом: http://www.xiconeditor.com/

Проверьте заголовки ответа для своего значка. Они не должны включать "Cache-Control: no-cache".

Вы можете проверить это из командной строки, используя:

curl -I http://example.com/favicon.ico

или же

wget --server-response --spider http://example.com/favicon.ico

(или используйте другой инструмент, который покажет вам заголовки ответов)

Если вы видите там «Cache-Control: no-cache», настройте конфигурацию сервера, чтобы либо удалить этот заголовок из ответа значка, либо установить максимальный возраст.

Запустите Internet Explorer от имени администратора. Если вы откроете IE в обычном режиме, значок не будет отображаться в IE 11 (Win 7). Я не уверен в поведении в других версиях браузеров.

Ни одно из вышеперечисленных решений не помогло мне.

Прежде всего, я убедился, что значок имеет правильный формат, используя веб-сайт для создания значков, предложенных выше.

Затем я переименовал значок с «favicon.ico» в «myicon.ico» и добавил на свою страницу следующий код (в тегах <head>):

<link rel = "shortcut icon" href = "myicon.ico" type = "image/x-icon" />

Значок находится в той же папке, что и страница.

Это решило проблему для меня. Проблема за кулисами, вероятно, как-то связана с кешированием IE, но я не уверен.

Также - ошибки сертификата (https) могут помешать появлению значка. Команда безопасности изменила настройки нашего сервера, и я начал получать "Проблема с сертификатом безопасности этого веб-сайта". Щелчок по «Перейти на этот веб-сайт (не рекомендуется)». привел меня на сайт, но НЕ показывал значок.

Я наблюдаю разное поведение между Windows 10 и Windows Server 2016, а также между IE и Edge. Я тестировал с помощью www.microsoft.com.

Windows Server 2016 IE 11:
Избранное: значок сайта
Адресная строка: значок сайта
Вкладка браузера: значок сайта

Windows 10 IE 11:
Избранное: значок сайта
Адресная строка: стандартный синий значок E
Вкладка браузера: общий синий значок E

Windows 10 Edge:
Избранное: значок сайта
Адресная строка: нет значка Вкладка браузера: значок сайта

Что случилось с Windows 10 IE, показывающим общий значок?

Этот кроссбраузер для меня (IE11, EDGE, CHROME, FIREFOX, OPERA), используйте https://www.icoconverter.com/ для создания файла .ico

<link data-senna-track = "temporary" href = "${favicon_url}" rel = "Shortcut Icon" />
<link rel = "icon" href = "${favicon_url}" type = "image/x-icon" />
<link rel = "shortcut icon" href = "${favicon_url}" type = "image/x-icon" />

Это не отвечает на вопрос. Вам приходится полагаться на внешнюю переменную favicon_url, которая генерируется где? На каком языке это написано? Некоторый контекст, стоящий за фрагментом кода, был бы полезен!

user1653042 29.08.2019 21:00

Попробуйте что-нибудь вроде:

Добавить в html:

  <link id = "shortcutIcon" rel = "shortcut icon" type = "image/x-icon">
  <link id = "icon" rel = "icon" type = "image/x-icon">

Добавьте минифицированный скрипт после тега:

<script type = "text/javascript">
(function(b,c,d,a){a=c+d+b,document.getElementById('shortcutIcon').href=a,document.getElementById('icon').href=a;}(Math.random()*100,(document.querySelector('base')||{}).href,'/assets/images/favicon.ico?v='));
</script>

куда

  • '/assets/images/favicon.ico' связанный путь к .ico
  • ? v = 'Math.random () * 100' - принудительно обновить браузер favicon.ico

Перед тестированием очистить историю: (ctr + shfit + del)

Другие вопросы по теме