Czy musisz dołączyć <link rel = „icon” href = „favicon.ico” type = „image / x-icon” />?

205

W tagu head nie umieściłem następującego wiersza kodu, jednak mój favicon nadal pojawia się w przeglądarce:

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

Jaki jest cel włączenia tego?

użytkownik784637
źródło

Odpowiedzi:

174

Jeśli nie wywołasz favicon, favicon.icomożesz użyć tego znacznika, aby określić rzeczywistą ścieżkę (jeśli masz ją w images/katalogu). Przeglądarka / strona favicon.icodomyślnie szuka w katalogu głównym.

Brian Graham
źródło
3
lub jeśli nie masz favicon.ico w folderze głównym, ale np. w folderze zasobów
Upvote
121

Powinieneś zrobić obie rzeczy, aby wszystkie przeglądarki znalazły ikonę.

Nazwanie pliku „favicon.ico” i umieszczenie go w katalogu głównym witryny to metoda „odradzana” przez W3C:

Metoda 2 (odradzana): Umieszczanie favikonu we wstępnie zdefiniowanym URI
Druga metoda określania favikonu polega na użyciu predefiniowanego URI do identyfikacji obrazu: „/ favicon”, który jest względny względem katalogu głównego serwera. Ta metoda działa, ponieważ niektóre przeglądarki zostały zaprogramowane do wyszukiwania ulubionych za pomocą tego identyfikatora URI.
W3C - Jak dodać favicon do swojej witryny

Tak więc, aby uwzględnić wszystkie sytuacje, zawsze robię to oprócz zalecanej metody dodawania atrybutu „rel” i kierowania go do tego samego pliku .ico.

Siburb
źródło
8
Tak, to poprawniejsza odpowiedź. Nie ma żadnych standardów związanych z po prostu umieszczeniem favicon.icokatalogu głównego, ale większość przeglądarek automatycznie zażąda tego pliku z przyczyn historycznych.
Fabrício Matté
10
Właściwym powodem takiego postępowania nie jest to, że działa w niektórych sytuacjach , ale dlatego, że lepsza metoda nie działa w niektórych sytuacjach
Jasper
2
Co ciekawe, realFaviconGenerator nie zaleca deklarowania favikonu w nagłówku HTML.
Dan Dascalescu,
7
Internet Explorer wynalazł favicon i szukał go w katalogu głównym. AFAIK, wszystkie przeglądarki to robią. Dlatego zalecam umieszczenie favicon.ico w katalogu głównym, ponieważ w przeciwnym razie zwróci 404, a większość systemów nie buforuje tego ... więc wciąż go żąda. Umieść tam ikonę, a pamięć podręczna zostanie poprawnie zapisana w pamięci podręcznej.
Stijn de Witt
50

Używam go z dwóch powodów:

  1. Mogę wymusić odświeżenie ikony, dodając na przykład parametr zapytania ?v=2. lubię to: <link rel="icon" href="https://stackoverflow.com/favicon.ico?v=2" type="image/x-icon" />

  2. W przypadku, gdy muszę podać ścieżkę.

nilsi
źródło
Niesamowite, w końcu zorientowałem się, dlaczego się nie wyświetla!
whamsicore
Jestem pewien, że to tylko literówka, ale masz tam względny href, co oznacza, że ​​nie zadziała, chyba że wszystkie twoje strony są na najwyższym poziomie lub nie masz pliku favicon.ico w każdym podkatalogu.
Chris Cogdon,
Dla twoich późniejszych czytelników komentarz Chrisa Cogdona został naprawiony w edycji „9 września 16 o 5:05”, więc nie stanowi już problemu
Daryn
13

Po prostu dodanie go do folderu głównego działa po modzie, ale odkryłem, że jeśli muszę zmienić favicon, aktualizacja może potrwać kilka dni ... nawet odświeżenie pamięci podręcznej nie załatwia sprawy.

Nicole
źródło
Nie zapomnij o Ctrl-C i przebuduj.
Jason Glass
9

Wiele osób ustawia ścieżkę plików cookie na /. Spowoduje to, że każde żądanie favicon wyśle ​​kopię plików cookie stron, przynajmniej w chrome. Adresowanie ulubionych w domenie bez plików cookie powinno to poprawić.

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

W zależności od natężenia ruchu może to być najbardziej praktyczny powód dodania linku.

Informacje na temat konfigurowania domeny bez plików cookie:

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

użytkownik3907900
źródło