Вы должны включить ‹link rel = icon href = favicon.ico type = image / x-icon /›?

Я не включил следующую строку кода в свой тег заголовка, однако мой значок по-прежнему отображается в моем браузере:

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

Какова цель его включения?


person user784637    schedule 11.07.2011    source источник


Ответы (5)


Если вы не вызываете значок favicon.ico, вы можете использовать этот тег для указания фактического пути (если он находится в каталоге images/). Браузер / веб-страница по умолчанию ищет favicon.ico в корневом каталоге.

person Brian Graham    schedule 11.07.2011
comment
или если у вас нет favicon.ico в корневой папке, но, например, папка с активами - person Upvote; 27.02.2014

Фактически вы должны сделать и то, и другое, чтобы все браузеры нашли значок.

Назвать файл "favicon.ico" и поместить его в корень вашего веб-сайта - это метод, который W3C "обескураживает":

Метод 2 (не рекомендуется): размещение значка в предварительно определенном URI.
Второй метод указания значка основан на использовании предварительно определенного URI для идентификации изображения: «/ favicon», относящегося к корню сервера. Этот метод работает, поскольку некоторые браузеры запрограммированы на поиск значков с использованием этого URI.
W3C - Как добавить значок на свой сайт

Итак, чтобы охватить все ситуации, я всегда делаю это в дополнение к рекомендуемому методу добавления атрибута rel и указания его на тот же файл .ico.

person siburb    schedule 18.03.2013
comment
Да, это более правильный ответ. Не существует стандартов, относящихся к простому помещению favicon.ico в корень, но большинство браузеров запрашивают указанный файл автоматически по историческим причинам. - person Fabrício Matté; 18.03.2013
comment
Правильная причина для этого - не потому, что он работает в некоторых ситуациях, а потому, что лучший метод не работает в некоторых ситуациях - person Jasper; 12.02.2015
comment
Любопытно, что realFaviconGenerator рекомендует не объявлять значок в заголовке HTML. - person Dan Dascalescu; 05.10.2016
comment
Internet Explorer изобрел значок и искал его в корне. AFAIK, все браузеры делают это. Вот почему я рекомендую поместить favicon.ico в корень, потому что в противном случае он вернет 404, и большинство систем не кэшируют его ... поэтому он продолжает запрашивать его. Поместите туда значок, и он будет правильно кэширован. - person Stijn de Witt; 31.07.2017
comment
@ FabrícioMatté, вы правы, что не было никаких стандартов относительно favicon.ico в корне. Однако черновик для этого был добавлен сюда 17 февраля 2011 г. исходного W3C приглашает 15 мая на широкую проверку HTML5 , 2011. HTML5 был окончательно доработан 28 октября 2014 г. Также обратите внимание, что Как добавить Значок «Значок вашего сайта» был черновиком в 2005 году. Следовательно, размещение favicon.ico в корневом каталоге ничем не хуже link rel="icon". - person Daniel Le; 02.01.2021

Я использую его по двум причинам:

  1. Я могу принудительно обновить значок, добавив параметр запроса, например ?v=2. вот так: <link rel="icon" href="/favicon.ico?v=2" type="image/x-icon" />

  2. Если мне нужно указать путь.

person nilsi    schedule 10.02.2015
comment
Потрясающе, наконец-то понял, почему он не отображается! - person whamsicore; 21.08.2015
comment
Я уверен, что это просто опечатка, но у вас там относительный href, что означает, что он не будет работать, если все ваши страницы не находятся на верхнем уровне или у вас нет файла favicon.ico в каждом подкаталоге. - person Chris Cogdon; 09.09.2016
comment
К сведению более поздних читателей, комментарий Криса Когдона был исправлен в редакции 9 сентября 2016 года в 5:05, так что больше не проблема. - person Daryn; 20.05.2020

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

person Nicole    schedule 22.11.2013
comment
Не забудьте нажать Ctrl-C и перестроить. - person Jason Glass; 27.06.2020

Многие люди устанавливают свой путь для файлов cookie в /. Это приведет к тому, что каждый запрос значка будет отправлять копию файлов cookie сайта, по крайней мере, в хроме. Это должно исправить обращение вашего значка к домену без файлов cookie.

<link rel="icon" href="https://cookieless.MySite.com/favicon.ico" type="image/x-icon" />

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

Информация о настройке домена без файлов cookie:

http://www.ravelrumba.com/blog/static-cookieless-domain/

person user3907900    schedule 12.10.2015