Devi includere <link rel = “icon” href = “favicon.ico” type = “image / x-icon” />?


205

Non ho incluso la seguente riga di codice nel tag head, tuttavia la mia favicon appare ancora nel mio browser:

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

Qual è lo scopo di includerlo?

Risposte:


174

Se non chiami favicon, favicon.icopuoi usare quel tag per specificare il percorso effettivo (nel caso in cui tu lo abbia in una images/directory). Il browser / pagina Web cerca favicon.iconella directory principale per impostazione predefinita.


3
o se non hai il favicon.ico nella cartella principale ma, ad esempio, in una cartella delle risorse
Upgrade

122

Dovresti infatti fare entrambe le cose, in modo che tutti i browser trovino l'icona.

Denominare il file "favicon.ico" e metterlo nella radice del tuo sito Web è il metodo "scoraggiato" da W3C:

Metodo 2 (Scoraggiato): mettere la favicon in un URI predefinito
Un secondo metodo per specificare una favicon si basa sull'uso di un URI predefinito per identificare l'immagine: "/ favicon", che è relativo alla radice del server. Questo metodo funziona perché alcuni browser sono stati programmati per cercare favicon usando quell'URI.
W3C - Come aggiungere una favicon al tuo sito

Quindi, per coprire tutte le situazioni, lo faccio sempre in aggiunta al metodo raccomandato per aggiungere un attributo "rel" e puntarlo allo stesso file .ico.


8
Sì, questa è una risposta più corretta. Non ci sono standard relativi al semplice inserimento di un favicon.icoroot, ma la maggior parte dei browser richiederà automaticamente tale file per motivi storici.
Fabrício Matté,

10
Il motivo corretto per farlo non è perché funziona in alcune situazioni , ma perché il metodo migliore non funziona in alcune situazioni
Jasper

2
Curiosamente, realFaviconGenerator consiglia di non dichiarare la favicon nell'intestazione HTML.
Dan Dascalescu

7
Internet Explorer ha inventato la favicon e l'ha cercata nella radice. AFAIK, tutti i browser lo fanno. Questo è il motivo per cui consiglio di mettere un favicon.ico nella radice, perché altrimenti restituirà 404 e la maggior parte dei sistemi non memorizza nella cache ... quindi continua a richiederlo. Metti un'icona lì e verrà memorizzata nella cache correttamente.
Stijn de Witt,

50

Lo uso per due motivi:

  1. Posso forzare un aggiornamento dell'icona aggiungendo ad esempio un parametro di query ?v=2. come questo: <link rel="icon" href="https://stackoverflow.com/favicon.ico?v=2" type="image/x-icon" />

  2. Nel caso in cui ho bisogno di specificare il percorso.


Fantastico, finalmente capito perché non stava mostrando!
whamsicore,

Sono sicuro che questo era solo un errore di battitura, ma hai un href relativo lì, il che significa che non funzionerà a meno che tutte le tue pagine non siano al livello superiore o non hai un file favicon.ico in ogni sottodirectory.
Chris Cogdon,

Cordiali saluti ai lettori successivi, il commento di Chris Cogdon è stato corretto nella modifica "9 settembre 16 alle 5:05", quindi non è più un problema
Daryn

13

La semplice aggiunta alla cartella principale funziona dopo una moda, ma ho scoperto che se ho bisogno di cambiare la favicon, possono essere necessari giorni per l'aggiornamento ... anche un aggiornamento della cache non fa il trucco.


Non dimenticare di Ctrl-C e Ricostruisci.
Jason Glass,

9

Molte persone impostano il percorso dei cookie su /. Ciò farà sì che ogni richiesta favicon invii una copia dei cookie dei siti, almeno in Chrome. Indirizzare la tua favicon al tuo dominio senza cucina dovrebbe correggerlo.

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

A seconda della quantità di traffico che ottieni, questo potrebbe essere il motivo più pratico per aggiungere il link.

Informazioni sull'impostazione di un dominio senza cucina:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.