Favicon wird von Firefox nicht angezeigt

73

Ich DO weiß , diese Frage mindestens tausend Mal auf dieser Website allein gefragt worden, aber ich habe viele dieser Threads gelesen, ich halte mich sehr kenntnisreich und nur selten etwas fragen, stattdessen lieber meine eigene Forschung zu tun.

DIESES Thema ist jedoch so seltsam, ohne Hoffnung auf echte Erleuchtung (da diese Frage so oft diskutiert wurde und ich immer noch nicht davon profitieren konnte, dort zu lesen), hier ist mein Problem:

favicon.ico ist vorhanden und (lokal gehostete Entwicklungswebsite) http://website/favicon.icozeigt das richtige Symbol an. Seine Größe beträgt nur 198 Bytes, daher wird die Größenbeschränkung, die ich in Firefox 'about: config von 1024 Bytes gefunden habe, eingehalten. Entsprechend der Weisheit über Favicons im Web sollte der Browser selbst nach Favicons fragen, wenn die Seite nichts enthält. Mein Apache-Protokoll zeigt jedoch deutlich, dass Firefox (9.01) niemals danach fragt.

Weiter: wenn ich hinzufüge

<link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico">

Ich bekomme immer noch kein Favicon.

Weiter: wenn ich stattdessen benutze

<link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico?">

( man beachte den nachlauf „?“) ich plötzlich DO ein Favicon bekommen. Aber es kann kein Cache-Problem sein! Erstens habe ich den Cache geleert, zweitens habe ich, wie oben erwähnt, die Symboldatei bereits erfolgreich über ihre URL in Firefox geladenhttp://website/favicon.ico

Ich kann dieses Verhalten von Firefox nicht erklären. Chrome zeigt übrigens das richtige Favicon.

Das ist mein Seitenkopf:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico?" />
</head>
...

Sobald ich mindestens das "?" nach "ico" funktioniert es.

Folgendes sendet der Server, wenn das Symbol angefordert wird, da einige danach gefragt haben. Ich habe keine Ahnung, warum dies nützlich sein würde, da a) ich sagte, mein Cache sei für jeden Test leer (überprüft mit about: cache auch), und b) ich sagte, dass der Server niemals nach der Datei gefragt wird, wenn sie nicht angezeigt wird oben. Firefox fragt einfach nicht ohne das "?" - mit leerem Cache! Die Anfrage wird NUR im Apache-Protokoll angezeigt, wenn ich das angehängte "?"

Date    Fri, 23 Dec 2011 12:53:22 GMT
Server  Apache/2.2.20 (Ubuntu)
Last-Modified   Fri, 23 Dec 2011 12:02:49 GMT
Etag    "12c07fe-c6-4b4c132190e30"
Accept-Ranges   bytes
Content-Length  198
Content-Type    image/x-icon
Mörre
quelle
Kommentare sind nicht für eine ausführliche Diskussion gedacht. Dieses Gespräch wurde in den Chat verschoben .
Elixenid
Dies ist das fünfte Mal, dass ein Moderator den Beitrag zurücksetzen muss, um denselben Rant zu entfernen, den Sie wiederholt angewiesen haben, nicht wieder einzubringen. Ich habe ihn jetzt für alle Änderungen gesperrt.
Martijn Pieters

Antworten:

136

Stellen Sie zunächst sicher, dass Sie kein "normales" Cache-Problem haben, indem Sie die Favicon-URL direkt laden (in die URL-Leiste des Browsers einfügen) und eine erzwungene Aktualisierung erzwingen. Wenn dies der Fall ist, ist die unten stehende komplizierte Lösung nicht erforderlich.



WICHTIG:

Mein ursprüngliches Problem kann nicht ein Cache - Problem gewesen sein: Erstens, ich habe den Cache zu löschen, zweitens, wie ich bereits erwähnt, habe ich schon erfolgreich geladen die Symboldatei in Firefox durch seine URLhttp://website/favicon.ico

Ich habe also das richtige Symbol im Browser erhalten, wenn es direkt geladen wurde! Aber ich habe (hatte) immer noch das falsche Symbol als "Favicon" angezeigt. Das direkte Laden der Symboldatei ist (oder war) unabhängig von der Anzeige am tatsächlichen Favicon-Speicherort (außer natürlich, wenn sie zum ersten Mal geladen wird).

Allerdings , wenn Sie nur ein Cache - Problem und Kraft-Refresh - Werke für Ihre als diese Frage / Problem ist nicht Sie! Und Ihre Antwort ist keine Antwort auf dieses Problem .

Menschen sollten Fakten nicht ignorieren. Wenn Sie mit vielen bereits beantworteten und / oder nutzlosen Fragen bombardiert werden, leidet die Qualität der Frage im Moment und auch für das Archiv. Es ist erstaunlich, wie ich mit Leuten kämpfen muss, die immer noch darauf bestehen, dass eine Kraftauffrischung die Antwort ist!



Hinweis: Sie können dieses Problem vollständig vermeiden, indem Sie eine Cache-Buster-URL verwenden, genau wie bei StackOverflow. Die Favicon-URL endet mit .../img/favicon.ico?v=4f32ecc8f43d.

Wenn normale Cache- Löschmaßnahmen fehlschlagen (genau wie bei mir), wird hier eine Antwort gegeben: "Löschen aller Favoriten aus dem Firefox 3-Cache [How-To]" - und hier ist eine archive.org-Version des Links (wahrscheinlich langsamer) , aber es wird nicht verschwinden) .

Die Schritte von dieser Seite hier reproduziert:

  1. Installieren Sie das Firefox-Add-On SQLite Manager
  2. Starten Sie es über Tools -> SQLite Manager
  3. Klicken Sie auf den Menüpunkt "Datenbank" (oben links) und wählen Sie "Datenbank verbinden" %APPDATA%\Mozilla\Firefox
  4. Öffnen Sie den ProfilesOrdner und wechseln Sie zu dem von Ihnen verwendeten Profil
  5. Wählen Sie places.sqliteals die Datenbankdatei zu bearbeiten (Firefox 61 und später: favicons.sqlite)
  6. Wählen Sie entweder die moz_faviconsTabelle. Verwenden Sie im Kontextmenü mit der rechten Maustaste "Leere Tabelle", verwenden Sie nicht "Tabelle löschen" (die Tabelle muss vorhanden sein) oder verwenden Sie das Kontextmenü mit der rechten Maustaste über den Daten und wählen Sie "Löschen" nur für den einen Eintrag, den Sie verwenden entfernen möchten (siehe Screenshot unten)

Screenshot Löschen eines Eintrags mit SQLite Manager

Ich begann zu vermuten, dass Firefox Favicons getrennt von allem anderen zwischenspeichert - dies war die einzige Erklärung, die dem beobachteten Verhalten entsprach. Also habe ich zur Bestätigung gegoogelt und die obige URL gefunden. Als nächstes werde ich versuchen, diesen bestimmten zusätzlichen Cache zu leeren und zu sehen, was passiert.

UPDATE - Gelöst: Nach dem Löschen des Favicon-Caches mit dem Firefox-Add-On "SQLite Manager" funktioniert alles wie es sollte.

Das Geheimnis war also der EXTRA (sqlite) CACHE FOR FAVICONS in Firefox, der nicht durch den regulären Befehl "Cache löschen" gelöscht wird.

Update März 2017: Ich habe dieses Firefox-Add-On und auch die in dieser Antwort unten vorgeschlagene eigenständige App überprüft und beide erledigen den Job. Das SQLite Manager-Add-On wurde vor ca. 2 Jahren laut seiner Github-Projektseite zuletzt aktualisiert , macht aber immer noch das, wofür es in diesem Kontext benötigt wird. Es gibt Updates von Leuten, die das Projekt gespalten haben , aber das ist nur eine Seite.

Mörre
quelle
1
Dieses Tool leistet nicht mehr als das, was bereits in Firefox integriert ist: "Temporäre Dateien, Verlauf, Cookies, Download-Verlauf, Formularverlauf".
Mörre
4
Ich weiß, dass es ein bisschen alt ist, aber ich habe festgestellt, dass Sie in Chrome den Browser einfach auf das Favicon selbst verweisen können, sodass Sie zu http://www.yourwebsite.com/favicon.icound danach sollte Ihr Favicon-Cache aktualisiert werden
Philippe Gilbert
2
@PhilippeGilbert Während das in Chrome funktioniert, funktioniert es in Firefox nicht.
Izzy
1
Vielen Dank für diese Antwort, ich dachte, ich würde verrückt! Ich hatte keine Ahnung, dass Firefox den Favicon-Cache anders handhabte als alles andere.
Jeff Puckett
2
Mit Firefox 61 müssen Sie die Datenbankdatei "favicons.sqlite" öffnen und bearbeiten (anstelle der Datenbankdatei "sites.sqlite").
Harry Mantheakis
3

stand vor einem ähnlichen Problem. Brechen Sie einfach den Bildcache. Ich verwende MVC Razor View.

    var link = document.createElement('link');
    link.type = 'image/x-icon';
    link.rel = 'shortcut icon';
    link.href = "/images/[email protected]";
    var head = document.head || document.getElementsByTagName('head')[0];
    head.appendChild(link);
Gokul
quelle
3

Hier erfahren Sie, wie Sie dies tun, ohne alle Favoriten zu verlieren

  1. Holen Sie sich ein Tool, das SQLite-Datei öffnen kann, ich benutze DB-Browser für SQLite

  2. Gehen Sie about:profilesin Ihrem Browser zu.

  3. Öffnen Sie den Stammordner von default profile. (Hinweise siehe beigefügtes Bild) Bild

  4. Datei öffnen places.sqlite( favicons.sqlitein Firefox 61+).

  5. Geh zum moz_faviconsTisch

  6. Filtern und löschen Sie den Eintrag für Ihren Hostnamen (Hinweise finden Sie im angehängten Bild) Bild

  7. Datei speichern (siehe Bild) Bild

  8. Besuchen Sie Ihre Website, es wird ein neues Favicon angezeigt

Suraj
quelle
Ja das funktioniert genauso gut. Ich habe gerade sowohl das Tool ausprobiert, das ich ursprünglich vorgeschlagen hatte, als auch Ihr Tool, und die Handhabung ist ziemlich ähnlich, obwohl ich das Firefox-Add-On zumindest subjektiv, als ich es kurz ausprobierte, etwas mehr mochte, aber es gibt keinen großen Unterschied.
Mörre
1
Übrigens, zu Ihrer Information: Ich habe mir erlaubt, den Link archive.org zu der URL, die ich in meiner Antwort gepostet habe, oben in Ihrer Antwort zu entfernen, da ich ihn jetzt selbst in meine Antwort aufgenommen habe, danke für den Hinweis! Ich dachte, dass dies in Ordnung ist, da Sie ausdrücklich angegeben haben, dass es sich um den Link in der "akzeptierten Antwort" handelt, sonst würde ich nicht davon träumen, mich auf diese Weise in die Texte anderer Leute einzumischen.
Mörre
Ist diese Antwort noch gültig, nachdem Firefox die Schnittstelle der SQLite-Engine entfernt hat? Wie installiere ich SQLite Manager Addon in Firefox Quantum (Browser-Version 57)
Ahmed Mostafa Abdel-Baky
1
@ AhmedMostafaAbdel-Baky hier bearbeiten Sie direkt SQLite-Dateien, also glaube ich, dass es funktionieren sollte
Suraj
3
Diese Lösung funktionierte für mich mit Firefox 61, außer dass ich die Datenbankdatei "favicons.sqlite" öffnen und bearbeiten musste (anstelle der Datenbankdatei "sites.sqlite").
Harry Mantheakis
2

Ich weiß, dass es schon lange her ist, aber das Verfahren zum Löschen des Cache unter FF 31.0 / Windows funktioniert für mich - vielleicht ist es neu. Options -> network -> cached web content -> clear now. FF herunterfahren, neu starten. Kein Durcheinander mit SqLite, neuen Favicon-Ladevorgängen.

Es gibt jedoch ein anderes potenzielles Problem. Der Server für die Site, für die ich das Symbol aktualisieren wollte, hatte eine DocumentRootvon /var/www. Diese Seite war foo.com/fubar, wo var/www/fubarwoanders Symlink zu. Mit anderen Worten, die Site ist eine Ebene tiefer DocumentRoot. Dies funktioniert für Chrome, Opera und IE, jedoch nicht für Safari oder FF:

<link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico" >

FF sucht nach dem Favicon in /var/wwwstatt /var/www/fubar. Dies funktioniert für alle 5 Browser:

<link rel="shortcut icon" href="favicon.ico" >
EML
quelle
Ich habe es gerade mit FF 52 versucht und das Löschen des Caches von der Netzwerkeinstellungsseite sowie das Verwenden von "Aktuellen Browserverlauf löschen" aus den Datenschutzoptionen haben die SQLite-Datenbank nicht berührt, sie war immer noch unverändert. Ihr zweiter Kommentar "FF sucht nach dem Favicon in / var / www" hat hier nichts mit dem Thema zu tun, das ist nur eine sehr einfache und grundlegende "URL-Wissenschaft" und ist eine Frage Ihres individuellen Webserver-Setups.
Mörre
-2

Ich hatte dieses Problem gerade jetzt, es scheint, dass der Cache, die Cookies und der Verlauf keine Auswirkung haben, aber ich habe dies getan, was es behoben hat.

1 - Klicken Sie mit der rechten Maustaste auf das Lesezeichen (meins befindet sich im Symbolleistenmenü). 2 - Klicken Sie auf Eigenschaften. 3 - Klicken Sie dann auf Abbrechen (scheint einen versteckten Cache zu aktualisieren.)

Ich bin sicher, dass das Klicken auf OK / Speichern den gleichen Effekt hat.

user3542609
quelle
Seltsamerweise wird das Symbol im Lesezeichenmenü angezeigt. Nur nicht auf der Registerkarte.
stark