webentwicklung-frage-antwort-db.com.de

Kann ich den Browser anweisen, nicht nach einem Favicon zu suchen?

Ich habe eine Website, die kein Favicon hat/braucht.

Gibt es eine Möglichkeit, den Browser anzuweisen, keine Anfrage nach /favicon.ico zu verschwenden?

Ich meine nicht das Filtern von Protokollen, sondern etwas clientseitiges, wie dies:

<link rel="shortcut icon" href="about:blank" />

Das scheint zu funktionieren, aber ich bin nicht in der Lage, umfassende Tests durchzuführen (und Suchmaschinen sind nicht hilfreich).

Kann jemand bestätigen, ob dies eine gültige Methode ist, oder eine geeignete Alternative anbieten?

Update: Nach weiteren Untersuchungen funktioniert nicht (zumindest nicht mit Chrom 18 auf einem nicht-lokale Domain). Eine Teillösung besteht darin, eine data: -URL zu verwenden, um ein Base64-Leerbild zu liefern ( Beispiel von hier ):

<link href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" rel="icon" type="image/x-icon" />

Das funktioniert, hat aber zwei Nachteile:

  • In Browsern, die keine Daten-URLs unterstützen, schlägt dies vermutlich fehl.
  • Es wird überhaupt kein Favicon angezeigt - d. H. Das Standard-Icon des Browsers wird ausgeblendet.
18
Peter Boughton

Nun, ich habe gerade ein paar Tests mit einer Reihe von zufälligen Browsern durchgeführt, die ich zufällig installiert hatte. Wireshark und eine einfache Webseite mit dem Tag

<link rel="shortcut icon" href="about:blank">

Hier sind die bisherigen Ergebnisse:

  • Chromium 18.0 unter Ubuntu Linux: Funktioniert. Keine Anforderungen für /favicon.ico, nein Favicon angezeigt.

  • Google Chrome 21.0 unter Windows XP: Funktioniert.

  • Firefox 15.0.1 unter Ubuntu Linux: Inkonsistentes Verhalten. Anscheinend Firefox zeigt kein Favicon an und fordert beim Laden der ersten Seite nicht über HTTP /favicon.ico an. Wenn die Seite jedoch das zweite Mal besucht wird, wird /favicon.ico geladen und angezeigt.

  • Firefox 15.0 unter Windows XP: Inkonsistentes Verhalten, wie oben.

  • Opera 10.10 unter Ubuntu Linux: Funktioniert nicht. Requests /favicon.ico but zeigt es nicht.

  • Konqueror 4.8.4 unter Ubuntu Linux: Funktioniert.

  • rekonq 0.9.1 unter Ubuntu Linux: Broken. Versucht, /about:blank anzufordern vom Server.

  • Internet Explorer 8.0 unter Windows XP: Inkonsistent (?). Anscheinend Ich arbeite zuerst, aber irgendwann wurde /favicon.ico abgefragt, höchstwahrscheinlich nachdem ich eine andere Seite besucht und den Zurück-Button benutzt habe. Das Testen war etwas kompliziert durch die Tatsache, dass IE es aus irgendeinem Grund ablehnt, meine Testfavicons tatsächlich zu rendern. Benötigt mehr Tests.

Weitere Hinweise:

Browser neigen dazu, Favicons ziemlich aggressiv zwischenzuspeichern. Normale Methoden zum Löschen des Browser-Cache scheinen nicht immer zu funktionieren. Ich musste die Browser mit brandneuen Sandkastenprofilen betreiben, um konsistent wiederholbare Ergebnisse zu erzielen. Insbesondere greift reconq zumindest darauf zurück, das (nicht standardmäßige) Favicon von einer anderen Seite auf derselben Site anzuzeigen, wenn dort eine zwischengespeicherte Seite vorhanden ist.

9
Ilmari Karonen