2016-03-19 9 views
7

Code:history.pushState in Chrom machen Favicon Anfrage

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

aktuellen Szenario:

jedes Mal, wenn window.history.pushState() aufgerufen Favicon-Anfragen auftreten rapidly.It Netzanforderung für Favicon macht auf Jeder Aufruf dieser Funktion.

erwartetes Szenario:

Favicon sollte nur einmal beim Laden der Seite geladen wird, würde ich das Favicon Last auf jeder Anfrage von window.history.pushState() nicht erwarten.

Favicon Pfade Link wie folgt in HTML-Seite:

<!-- 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"> 

Jeder wird sofort Hilfe sehr spürbar sein. Danke

Antwort

5

Es sieht aus wie ein Bug in Chromium Browsern. Siehe this offene Frage.

Aber es scheint eine Problemumgehung zu geben, wenn Sie base64 Bild als href die Anfrage wird nicht auftreten.

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

Siehe this Frage.

+0

Wenn Sie in Chrome die Zurück-Taste gedrückt halten, erhalten Sie eine Liste aller Links im Verlauf und Sie können eine auswählen. Die Links haben sowohl ein Symbol als auch einen Text. Es scheint nur normal zu sein, dass die Anfrage nach favico gemacht wird, wenn Dinge zum Verlauf hinzugefügt werden. Ich würde es keinen Fehler nennen. –

+0

Scheint echt. Ich habe meinen Zweifel in der Antwort ausgedrückt "sieht aus wie ein Fehler", möglicherweise nicht, deshalb ist es seit 2012 geöffnet. –

+0

Danke für das Update..also gibt es alternative Lösung für dieses Problem.Ich möchte nicht favicon laden bei jedem Aufruf von window.history.pushState() –