2016-03-19 13 views
7

codice:history.pushState in Chrome fanno richiesta favicon

var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname +"?"+ queryStr; 
window.history.pushState({path:newurl},'',newurl) 

scenario attuale:

ogni volta quando window.history.pushState() richieste favicon è invocati verificano rapidly.It fa richiesta di rete per la favicon su ogni chiamata di questa funzione.

scenario atteso:

favicon dovrebbe essere caricato solo una volta al caricamento della pagina, non mi aspetto il carico favicon su ogni richiesta di window.history.pushState().

percorsi favicon sono link come questo in pagina HTML:

<!-- Favicon --> 
    <link rel="icon" type="image/png" href="../img/icon/favicon-16x16.png" sizes="16x16"> 
    <link rel="icon" type="image/png" href="../img/icon/favicon-32x32.png" sizes="32x32"> 
    <link rel="icon" type="image/png" href="../img/icon/favicon-96x96.png" sizes="96x96"> 

Qualsiasi aiuto immediato sarà altamente apprezzabile. Grazie

risposta

5

Sembra un bug nei browser Chromium. Vedi il problema aperto this.

Ma sembra che ci sia una soluzione alternativa se si utilizza l'immagine base64 come href la richiesta non si verificherà.

<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo="> 

Vedi this domanda.

+0

In Chrome, quando tieni premuto il pulsante Indietro, ottieni un elenco di tutti i link nella cronologia e puoi sceglierne uno. I collegamenti hanno sia l'icona che il testo. Sembra normale che la richiesta di favico venga fatta quando si aggiungono elementi alla cronologia. Non lo definirei un bug. –

+0

Sembra legittimo. Ho espresso il mio dubbio nella risposta "sembra un insetto", potrebbe non esserlo, ecco perché è aperto dal 2012. –

+0

Grazie per l'aggiornamento .. quindi c'è una soluzione alternativa per questo problema. Non voglio caricare favicon su ogni chiamata di window.history.pushState() –