web-dev-qa-db-de.com

Wie lösche ich den Favicon-Cache von IE?

ich habe ein Lieblings-Icon für meine Website definiert:

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

Jeder Browser, der die Site besucht hat nachdem das Symbol hinzugefügt hat, kann das Favicon gut anzeigen. Mein eigener Browser weigert sich jedoch, das Symbol anzuzeigen.

ich habe jede Variation des Links ausprobiert, die mir einfällt:

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

<link rel="shortcut icon" type="image/x-icon" href="http://example.com/favicon.ico">

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

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

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

<link rel="shortcut icon" type="image/x-icon" href="http://example.com/favicon.ico">
<link rel="icon" type="image/x-icon" href="http://example.com/favicon.ico">

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

Es spielt keine Rolle, Internet Explorer (9) weigert sich sogar, einen Abruf vom Server auszuführen (Überwachung vom Geiger).

ich habe oft versucht, meinen Cache zu löschen:

(gear) -> Internet Options -> General -> Delete -> Temporary Internet Files

Alex in dieser Antwort glaubt, dass Lieblingssymbole anders als normale Webinhalte zwischengespeichert werden und nicht den regulären Löschregeln folgen.

Die Frage lautet also: Wie lösche ich den Favoriten-Cache des Internet Explorer?

Siehe auch

28
Ian Boyd

Es speichert das Vorhandensein oder Fehlen eines Favicons im Verlauf. Wenn Sie es zurücksetzen möchten, löschen Sie Ihren Verlauf. Hier ist eine umfassende FAQ .


Bearbeiten: Zitieren des Blogs und Aufrufen einer ausführlichen Antwort:

warum erscheint das Favicon für meine Site nicht in IE7?

Dies ist eine erneute Veröffentlichung eines Beitrags, der ursprünglich am 01.03.2007 veröffentlicht wurde. Das Original finden Sie hier . Diese Version wurde aktualisiert, um der aktuellen Realität zu entsprechen.

Als ich bei Microsoft war, war ich der Entwickler, der damit beauftragt wurde, die Favicon-Story für IE7 zu reparieren. Das ursprüngliche IE6-Verhalten bestand darin, das Favicon einmal herunterzuladen - als ein Benutzer eine Site zu einem Favoriten machte. Ich möchte nicht zu tief in die Details eingehen, wie diese Verrücktheit funktioniert, aber die Schlüsselinformation zum Verständnis, warum sie so kaputt schien, ist folgende: Eine Zuordnung zwischen der URL der Site und der URL für das Favicon der Site würde gespeichert in der IE-Verlaufsdatenbank und die tatsächlichen Bits des Symbols werden im Ordner für temporäre Internetdateien gespeichert. Wenn Sie also Ihren Verlauf oder Ihren Cache löschen oder das Element aus einem der beiden abgelaufen ist, ist das Symbol für immer verschwunden.

Schneller Vorlauf auf IE7. Seit der Auslieferung von IE6 sind mehr als zwei (drei?) Jahre vergangen. Wir möchten das Browsen mit Registerkarten implementieren und möchten, dass die Registerkarten die richtigen Favicons anzeigen. Deshalb habe ich den Favicon-Code aktualisiert, um das Symbol immer beim ersten Besuch herunterzuladen. Der Code merkt sich auch, ob es kein Favicon (404) gibt oder ob es in irgendeiner Weise ungültig war (ExtractIcon () fehlgeschlagen).

Hier ist eine Mini-FAQ (mit einer Bonusfrage am Ende), die ich während meiner Zeit bei Microsoft geschrieben habe:

F: Wie kann ich im IE7 ein Favicon für meine Site erstellen?
A: Es gibt zwei Möglichkeiten. Die erste besteht darin, eine Datei mit dem Namen favicon.ico im Stammverzeichnis Ihrer Domain abzulegen. Die zweite besteht darin, ein <link> -Tag mit dem rel="shortcut icon" -Wert und dem href -Wert zu verwenden, der auf die URL für das anzuzeigende Symbol festgelegt ist.

F: Wie oft lädt IE das Favicon herunter?
A: IE lädt das Symbol herunter, wenn ein Benutzer die Site zum ersten Mal besucht. Das Symbol wird im Ordner "Temporäre Internetdateien" auf dem Clientcomputer gespeichert. Zusätzliche Metadaten zum Favicon werden in der URL-Verlaufsdatenbank des Benutzers gespeichert. Wenn entweder der Speicher gelöscht wird oder Artikel, die sich auf das Favicon beziehen, abgelaufen sind, wird das Symbol beim nächsten Besuch erneut heruntergeladen. Wenn mehr als eine Seite (oder Site) dasselbe Favicon verwendet, wird es nur einmal heruntergeladen. IE ist sehr bemüht, das Symbol so selten wie möglich herunterzuladen, um die Belastung des Servers zu verringern.

F: Für einige von mir besuchte Websites wird das falsche Favicon angezeigt. Wie behebe ich das?
A: Wenn die Verlaufsdatenbank auf irgendeine Weise beschädigt wurde, kann dies passieren. Die einfachste Lösung besteht darin, den Cache und den Verlaufsspeicher mit Browserverlauf löschen (im Menü Extras) zu löschen.

F: Ich habe ein favicon.ico auf meine Site gesetzt, wie Sie beschrieben haben, aber es wird immer noch nicht angezeigt.
A: Es muss sich tatsächlich um eine .ico-Datei (ein Symbol) handeln. Bitmaps, PNGs, GIFs usw. funktionieren nicht. IE7 lädt Ihr Favicon in den Ordner "Temporary Internet Files" herunter und ruft ExtractIcon() für die Datei auf. Wenn dies fehlschlägt, wird anstelle Ihres Favicons das Standardsymbol angezeigt.

F: Ich habe bestätigt, dass mein Favicon wirklich ein Symbol ist, aber es wird immer noch nicht angezeigt.
A: Da IE Ihr Symbol aus dem Ordner "Temporäre Internetdateien" lädt, muss dies tatsächlich möglich sein bewahre es dort auf. Wenn Sie die No-Cache-Direktive für die Symboldatei festlegen, kann IE Ihr Symbol nicht anzeigen und zeigt stattdessen das Standardsymbol an. Sie können Fiddler verwenden, um zu überprüfen.

F: Wie erstelle ich für jede Seite meiner Site ein anderes Favicon?
A: Fügen Sie auf jeder Seite ein anderes Tag ein, das auf ein anderes Symbol verweist.

F: Ich habe das Favicon meiner Site in ein anderes Symbol geändert, aber das alte wird immer noch im IE angezeigt. Wie erzwinge ich die Aktualisierung von IE?
A: Wenn Sie die Datei favicon.ico nur im Stammverzeichnis Ihrer Domain ablegen, ist IE nicht ' Ich habe keine Ahnung, ob es sich geändert hat. Um ein Update zu erzwingen, müssen Sie ein Tag verwenden und auf einen anderen Dateinamen verweisen als zuvor. Der aktuelle Dateiname wird mit dem in der URL-Verlaufsdatenbank gespeicherten bekannten Dateinamen verglichen. Wenn IE feststellt, dass sich der Dateiname geändert hat, wird Ihr neues Symbol heruntergeladen. Alternativ können Sie Ihre Benutzer auffordern, den Verlauf und den Cache zu löschen (Extras-> Internetoptionen-> Browserverlauf löschen), wodurch auch IE zum Herunterladen der neuen Datei gezwungen wird.

F: Was ist noch kaputt?
A: Zwei Dinge:

  1. Wenn Sie einen alternativen Speicherort über das Tag angeben, muss das href-Mitglied vollständig qualifiziert sein und beachtet das Tag nicht.
  2. Das Tag muss ein "Verknüpfungssymbol" als rel-Wert haben, dies verstößt jedoch gegen die W3C-Spezifikation, wonach ein Leerzeichen im rel-Tag eine Liste von Werten angibt. IE behandelt "Verknüpfungssymbol" als einen einzelnen Wert. Zum Glück funktioniert dies immer noch für andere Browser, die "Verknüpfung" sehen und ignorieren und nur auf die Zeichenfolge "Symbol" achten.

Das sollte die meisten Fragen abdecken, die ich zu Favoriten in IE7 erhalten habe. Wenn Sie weitere Fragen haben, können Sie diese gerne stellen.

36
i_am_jorf

Sie können versuchen, alle Caching-Strategien mithilfe der Brechstange zu umgehen: Hinzufügen eines zufälligen GET-Parameters.

 favicon.ico?def=abcdefghijklmn

es ist hackig, aber es funktioniert oft, wo richtige Caching-Header usw. nicht funktionieren.

14
Pekka 웃

Wenn Sie direkt zu der Favicon-Datei wechseln (z. B. http://www.mydomain.com/favicon.ico ) und dann auf F5 klicken (manchmal Strg + F5), wird das Symbol aktualisiert.

Dies funktioniert in IE und Firefox.

4
Rob Willis

In IE8 und IE9 müssen Sie absolute Pfade für die href verwenden. Relative Pfade funktionieren nicht, egal welchen Link Sie verwenden. Typ = ist auch nicht notwendig.

Folgendes hat für mich in allen Browsern (IE, FF, Chrome, Safari, Opera und Sea Monkey) am besten funktioniert:

<link rel="shortcut icon" href="http://domain.com/favicon.ico" />
4
Kyle W
<link rel="shortcut icon" href="@Url.Content("~/favicon.ico?xyz=10001")" type="image/x-icon" />

Dies hat mein Problem behoben, obwohl es ein Hack ist.

0
Kurisa12