Ich habe eine Grails-Anwendung, die lokal mit einem eigenen Tomcat ausgeführt wird, und ich habe gerade das Favicon gegen ein neues ausgetauscht. Problem ist, dass ich es in keinem Browser sehen kann. Das alte Favicon wird angezeigt oder ich bekomme überhaupt kein Favicon, aber nicht mein neues. Ich denke nicht, dass dies per se ein Grails-Problem ist, sondern eher ein Problem mit Favicons.
Was soll mit Favicons passieren? Wie sollen sie arbeiten? Ich habe zahlreiche Lesezeichen in meinem Browser, die die falschen Symbole haben und die scheinbar nie aktualisiert werden. Wie zwinge ich den Server / Browser, das Zwischenspeichern zu beenden? Es scheint ziemlich dumm, sie immer zwischenzuspeichern, da sie normalerweise nur 16x16 sind. Warum laden Sie sie nicht einfach bei jedem Besuch der Seite hoch? Es ist nicht gerade ein riesiger Aufwand.
favicon.ico
Datei in Ihrem Dokumentstamm.Antworten:
Um das Favicon Ihrer Site zu aktualisieren, können Sie Browser zwingen, eine neue Version herunterzuladen, indem Sie das Link-Tag und einen Querystring in Ihrem Dateinamen verwenden. Dies ist besonders in Produktionsumgebungen hilfreich, um sicherzustellen, dass Ihre Benutzer das Update erhalten.
quelle
type="image/x-icon"
Gegensatz zu vielen Quellen aus meinem Code entfernen . Ich habe einen dateimodifizierten Zeitstempel für denv?=2
Teil der Abfrage verwendet.Ok, nach 10 Minuten des Versuchs ist der einfache Weg, es zu reparieren, nahe an dem der Vogelreihe
quelle
Diese Antwort wurde noch nicht gegeben, also dachte ich, ich würde sie posten. Ich habe mich im Internet umgesehen und keine gute Antwort gefunden, um Favoriten in der lokalen Entwicklung zu testen.
Wenn Sie in der aktuellen Chrome-Version (unter OSX) Folgendes tun, erhalten Sie sofort eine Favicon-Aktualisierung:
Dies ist der einfachste Weg, das Favicon lokal zu aktualisieren.
quelle
CMD
+Shift
+R
Benennen Sie die Favicon-Datei um und fügen Sie einen HTML-Header mit dem neuen Namen hinzu, z.
quelle
Wenn Sie PHP verwenden, können Sie auch den MD5-Hash des Favicons als Abfragezeichenfolge verwenden:
Auf diese Weise wird das Favicon immer aktualisiert, wenn es geändert wurde.
Wie in den Kommentaren erwähnt, können Sie anstelle des MD5-Hash auch das Datum der letzten Änderung verwenden, um dasselbe zu erreichen und ein wenig an Serverleistung zu sparen:
quelle
Indem Sie die Datei zerstören, in der Ihr Browser alte Favoriten speichert, können Sie das Laden neuer erzwingen.
chrome.exe
oderfirefox.exe
).Favicons
undFavicons-journal
favicons.sqlite
Dies wird fast definitiv funktionieren. Wenn nicht:
quelle
%appData%/../Local/Google/Chrome/User Data/Default
~/.config/google-chrome/Default
In Chrome unter Mac OS X kann man Dateien mit Favicon-Cache entfernen
quelle
${user.home}/Library/Application Support/Google/Chrome/Profile 1/Favicons
cmd+q
Laufen gebracht, nachdem ich Chrome verwendet habe, in die Menüleiste gegangen bin , das erneute Beenden von Chrome erzwungen habe und 2 Minuten gewartet habe, um den Browser zu öffnen und zurück zu meiner Site zu navigieren.Nun, Overhead ist Overhead, aber ja, nicht zu groß.
Außerdem sind Browser manchmal "gierig" nach zwischengespeicherten Dateien. Sie können den Cache leeren und / oder Ihren Browser neu starten und möglicherweise die Änderung sehen. Wenn das aber fehlschlägt ...
Meine billige Lösung ist:
Wenn diese Sequenz nicht funktioniert, ist etwas anderes los.
quelle
Abhängig vom Browser werden sie unterschiedlich behandelt, aber normalerweise finde ich, dass ich zur Standardseite der Site gehe und eine harte Aktualisierung durchführe. CTRL+ F5, wird es normalerweise zum Aktualisieren bringen.
quelle
ON MAC: ⌘+ Shift- Roder halten CtrlSie gedrückt und klicken Sie im Browser auf die Schaltfläche zum erneuten Laden.
quelle
Für Internet Explorer gibt es eine andere Lösung:
quelle
Höchstwahrscheinlich ein Webbrowser-Problem. Sie müssen Ihren Cache aus Ihrem Browser löschen, Ihren Browser schließen und erneut öffnen. Das sollte es beheben.
Ich glaube nicht, dass Ihre Favoriten in Ihren Favoriten aktualisiert werden, bis Sie diese Seite erneut besuchen und davon ausgehen, dass Sie zuvor den Cache Ihres Browsers geleert haben.
Ihr Webbrowser geht nicht ins Internet, um selbst nach einem neuen Favicon zu suchen ... Gott sei Dank.
quelle
Versuchen Sie, in einem neuen Tab zu öffnen
Ich habe viele der oben genannten Dinge ausprobiert (Cache zurücksetzen, aktualisieren, das Link-Tag verwenden usw.), sogar meine
.htaccess
Datei überprüft und die Variable ExpiresByType zurückgesetzt.Aber genau das hat bei mir sowohl in Chrome (25.0.x) als auch in Safari (6.0.1) funktioniert:
<link>
Tag verknüpftmysite.com/favicon.ico
mysite.com
in einer neuen Registerkarte(Bis zu Schritt 3 wurde beim Aktualisieren auf derselben Registerkarte das alte Symbol reproduziert.)
quelle
Wenn Sie unter Chrome unter macOS nicht die gesamte Chrome-Favicon-Datenbank löschen möchten, wie bereits hier vorgeschlagen, können Sie nur die widersprüchlichen Symbole löschen:
sqlite3 ~/Library/Application\ Support/Google/Chrome/Default/Favicons
select * from favicons where url = 'http://mysite.dev/favicon.ico';
delete from favicons where url = 'http://mysite.dev/favicon.ico';
Alternativ können Sie nach einem Muster suchen, das Sie zum Löschen mehrerer Einträge wiederverwenden können:
select * from favicons where url like 'http://mysite.dev%';
delete from favicons where url like 'http://mysite.dev%';
.exit
und drücken Sie die Eingabetaste, um sqlite zu beendenquelle
Wenn Sie das Favicon bei Google anfordern, können Sie sich die Antwortheader ansehen.
Wenn Sie der Antwort einen "Expires:" - Header hinzufügen, fordern Client-Browser das Symbol nach diesem Zeitstempel erneut an. Während der aktiven Entwicklung können Sie den abgelaufenen Zeitstempel auf ein oder zwei Sekunden in der Zukunft festlegen und ihn immer abrufen lassen, obwohl dies ein schlechter langfristiger Plan ist.
quelle
Chrome-Version: 68.0.3440.106
Starten Sie Chrome einfach neu (in Ihrer Adressleiste):
chrome://restart
quelle
Die Favicon-Unterstützung von Chrome ist fehlerhaft - ignorieren Sie diese Antwort
Ich habe diese Antwort unter dem Eindruck geschrieben, dass dies erforderlich ist, um die Favoriten in Google Chrome zu aktualisieren. Es stellt sich jedoch heraus, dass dies nur in den ersten fünf Minuten funktioniert, bis das Symbol bei der Verlaufssynchronisierung von Chrome unwiederbringlich verloren geht .
Ursprüngliche Antwort
Sie müssen Ihren Cache nicht leeren, Ihren Browser nicht neu starten oder Ihren HTML- Code neu schreiben. Sie müssen lediglich die URL des Symbols einmal ändern , damit der Browser das zuvor zwischengespeicherte Symbol vergisst.
Angenommen, Sie haben Ihr Symbol über
<link>
Elemente auf Ihrer Seite definiert<head>
, können Sie dies tun, indem Sie diesen Standard-JS-Einzeiler in der Konsole ausführen:Eine erweiterte Implementierung, die dies automatisch für Endbenutzer in der Produktion tun kann, finden Sie unter freshicon.js .
quelle
?v=2
tauschen Sie die gesamte URL gegen ein Symbol Ihrer Wahl aus und es scheint nach einer Aktualisierung zu bleibenIch habe kürzlich meine Lesezeichen wiederhergestellt und nach einer Möglichkeit gesucht, die FavIcons wiederherzustellen, ohne jede Seite zu besuchen. Meine Suche brachte mich zu diesem Thread.
Für diejenigen unter ähnlichen Umständen laden Sie einfach das FAVICON RELOADER-Addon herunter. Nach der Installation finden Sie den Befehl "Favoriten-Symbole neu laden" in Ihrem Dropdown-Menü BOOKMARKS.
https://addons.mozilla.org/en-US/firefox/addon/faviconreloader/?src=api
quelle
Wenn Sie PHP verwenden, können Sie auch diese Zeile verwenden.
Es wird Ihr Favicon bei jedem Laden der Seite aktualisieren.
quelle
Wenn Sie nur daran interessiert sind, es zu debuggen, um sicherzustellen, dass es sich geändert hat, können Sie einfach einen Dummy-Eintrag zu Ihrer / etc / hosts-Datei hinzufügen und auf die neue URL klicken. Das Favicon wird noch nicht zwischengespeichert und Sie können sicherstellen, dass Ihr neues funktioniert.
Ohne den Namen des Favicons zu ändern, können Sie Ihre Benutzer auf keinen Fall dazu zwingen, eine neue Kopie zu erhalten
quelle
Dies funktioniert für Chrome:
auf Mac: Datei löschen
$ {user.home} / Bibliothek / Anwendungsunterstützung / Google / Chrome / Standard / Favicons
unter Windows: Dateien löschen
C: \ Benutzer [Benutzername] \ AppData \ Local \ Google \ Chrome \ Benutzerdaten \ Default \ Favicons C: \ Benutzer [Benutzername] \ AppData \ Local \ Google \ Chrome \ Benutzerdaten \ Default \ Favicons-Journal
Quelle
quelle
Dies ist eine Problemumgehung für den Chrome-Fehler: Ändern Sie das rel-Attribut in "Stylesheet"! Behalten Sie jedoch den ursprünglichen Link. Klappt wunderbar:
Ich habe diese Problemumgehung gefunden, weil wir auch die Anforderungen haben, die Standorte / den Produktionscode des Kunden aktualisieren zu können, und ich keine der anderen Lösungen gefunden habe, die funktionieren könnten.
quelle
Ich weiß, dass dies eine wirklich alte Frage ist, aber es ist auch eine, die immer noch relevant ist, obwohl diese Tage nur für Mozilla gelten. (Ich habe keine Ahnung, was der Explorer macht, da wir nicht für nicht standardmäßige Browser codieren).
Chrome verhält sich gut, wenn ein Symbol-Tag in die Kopfzeile aufgenommen wird.
Obwohl Mozilla sich des Problems wie üblich bewusst ist, beheben sie die lästigen Kleinigkeiten nie. Auch 6 Jahre später.
Es gibt also zwei Möglichkeiten, eine Symbolaktualisierung mit Firefox zu erzwingen.
Lassen Sie alle Ihre Clients Firefox deinstallieren. Dann neu installieren.
Geben Sie manuell nur die Domain in die URL-Leiste ein - verwenden Sie nicht nur die Domain http oder www (mydomain.com).
Dies setzt natürlich voraus, dass Ihre ns-Datensätze nur die Auflösung für den Domainnamen enthalten.
quelle
Einfach,
1: Ich möchte nicht mit Codes herumspielen (ps mein Site Builder verwendet keine Codes, er verwendet die Schaltfläche "Datei hochladen" und er macht es selbst)
2: Ich habe das CTRL+ ausprobiertF5 und es funktioniert bei mir nicht so ....
ICH HABE EINE LÖSUNG:
IE: Löschen Sie den gesamten Browserverlauf und die Cookies, indem Sie zu den Einstellungen cog O gehen
Chrome: Gehen Sie zum Menü in der oberen rechten Ecke unter dem X, das wie ein = aussieht, und gehen Sie dann zu Einstellungen, Verlauf, LÖSCHEN DER DATEN LÖSCHEN und aktivieren Sie alle zutreffenden Kontrollkästchen (ich habe Verlauf, Cookies erstellt und die Catche aus dem Feld geleert Anfang der Zeit)
quelle
Ändern Sie einfach diesen Dateinamen = 'favicon1.ico'
quelle
So habe ich es mit einem einfach animierten Favicon und FireFox 3.6.13 (Beta-Version) geschafft. Es wird wahrscheinlich auch für andere Versionen von FireFox funktionieren. Lassen Sie es mich wissen, wenn dies nicht der Fall ist. Es ist im Grunde die Lösung von artlung, aber auch die GIF-Datei:
quelle
Stellen Sie außerdem sicher, dass Sie die vollständige Bild-URL und nicht nur den relativen Pfad eingeben:
Und nicht:
quelle
/images/favicon.ico
ist der richtige Weg, dies zu tun: Es funktioniert "nur" für verschiedene Umgebungen (dev / test / Production) und ist ein absoluter Pfad - von der Dokumentbasis-URL.Wenn das Problem trotz der oben beschriebenen Schritte weiterhin besteht, versuchen Sie, den IIS-Server neu zu starten . Hoffe das hilft...
quelle
Simon, ich nehme an, es gibt einen Grund, warum bisher keine der anderen Antworten akzeptiert wurde. Daher glaube ich, dass dies möglich ist doch ein Grails ausgeben - vor allem , wenn Sie die ‚Ressourcen Plugin‘ verwenden.
Wenn Ihre Plugins ein Favicon bereitstellen (was - unlogischerweise - viele tun), überschreiben sie möglicherweise das von Ihnen gewünschte Favicon - vorausgesetzt, Ihr Plugin befindet sich in einem Plugin selbst.
Wenn das Problem durch Löschen des Favicons aus allen Plugins vorübergehend behoben wird, tritt Folgendes auf:
http://jira.grails.org/browse/GPRESOURCES-134
quelle
Führen Sie die folgenden Schritte aus, um das App-Symbol zu ändern:
Alternativ können Sie Ihre Symboldatei mit favicon.ico umbenennen und im Verzeichnis ersetzen.
quelle