Frage

Ich habe eine Grails -Anwendung, die lokal mit einem eigenen Tomcat ausgeführt wird, und ich habe gerade das Favicon für eine neue geändert. Das Problem ist, dass ich es in keinem Browser sehen kann. Das alte Favicon taucht auf oder ich bekomme überhaupt kein Favicon, aber nicht mein neues. Ich denke nicht, dass dies ein Grails -Problem an sich ist, eher ein Problem mit Favicons.

Was soll mit Favicons passieren? Wie sollen sie funktionieren? Ich habe zahlreiche Lesezeichen in meinem Browser, die die falschen Symbole haben und sie scheinen nie erfrischt zu werden. Wie zwinge ich den Server/den Browser, ihn zu stoppen, ihn zu unterbinden? Es scheint ziemlich albern zu sein, sie immer zu leiten, da sie normalerweise nur 16x16 sind. Laden Sie sie nicht einfach mit jedem Besuch auf der Seite hoch? Es ist nicht gerade ein großer Overhead.

War es hilfreich?

Lösung

Um das Favicon Ihrer Website zu aktualisieren, können Sie Browser zum Herunterladen einer neuen Version mit dem Link -Tag und einem QueryString auf Ihrem Dateinamen zwingen. Dies ist insbesondere in Produktionsumgebungen hilfreich, um sicherzustellen, dass Ihre Benutzer das Update erhalten.

<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />

Andere Tipps

OK, nach 10 Minuten WTF'ing ist die einfache Möglichkeit, es zu beheben

  1. Geben Sie unter www.yoursite.com/favicon.ico (oder www.yoursite.com/apple-touch-icon.png usw.) ein
  2. Drücken Eintreten
  3. Strg+F5
  4. Starten Sie Browser neu (dh Firefox)

Diese Antwort wurde noch nicht gegeben, also dachte ich, ich würde sie posten. Ich habe mich im Internet rumgesehen und keine gute Antwort zum Testen von Favicons in der lokalen Entwicklung gefunden.

In der aktuellen Version von Chrome (auf OSX) Wenn Sie Folgendes machen, erhalten Sie eine sofortige Favicon -Aktualisierung:

  1. Über die Registerkarte schweben
  2. Rechtsklick
  3. Wählen Sie neu laden
  4. Ihr Favicon sollte jetzt erfrischt werden

Dies ist der einfachste Weg, um das Favicon vor Ort zu erfrischen.

Benennen Sie die Favicon -Datei um und fügen Sie einen HTML -Header mit dem neuen Namen hinzu, wie z. B.:

<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />

Wenn Sie PHP verwenden, können Sie auch den MD5-Hash des Favicon als Abfrage-String verwenden:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo md5_file('favicon.ico') ?>" />

Auf diese Weise wird das Favicon immer erfrischt, wenn es geändert wurde.

Wie in den Kommentaren hervorgehoben, können Sie auch das zuletzt geänderte Datum anstelle des MD5-Hash verwenden, um dasselbe zu erreichen und ein wenig bei der Serverleistung zu speichern:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo filemtime('favicon.ico') ?>" />

Indem Sie die Datei zerstören, die Ihr Browser zum Speichern alter Favicons verwendet, können Sie neue zum Laden erzwingen.

  1. Schließen Sie Ihren Browser. Stellen Sie sicher, dass keine Browserprozesse mehr ausgeführt werden (z. B. Check -Task -Manager für chrome.exe oder firefox.exe).
  2. Navigieren Sie zu dem Ort, an dem Ihr Browser Benutzerdateien speichert:
  3. Löschen Sie den Favicon -Cache.
    • Für Chrom entfernen Favicons und Favicons-journal
    • Für Firefox entfernen favicons.sqlite

Dies wird fast definitiv funktionieren. Wenn nicht:

  • Möglichkeit 1: Ein Update in Ihrem Browser hat die Funktionsweise des Favicon -Cache geändert. Bitte bearbeiten Sie diese Antwort mit neuen Anweisungen.
  • Möglichkeit 2: Ihr Favicon -Problem hat nichts mit überaggressivem Caching zu tun. Es kann stattdessen ein Problem mit Ressourcenladung sein. Wenn Sie Entwicklertools verwenden, stellen Sie sicher, dass das neue Favicon ordnungsgemäß heruntergeladen wird.

In Chrome unter Mac OS X kann die Datei mit Favicon -Cache entfernen

${user.home}/Library/Application Support/Google/Chrome/Default/Favicons 

Nun, Overhead ist Overhead, aber ja, nicht zu groß.

Außerdem sind Browser manchmal "gierig" über zwischengespeicherte Dateien. Sie können Cache löschen und/oder Ihren Browser neu starten und die Änderung sehen. Wenn das jedoch fehlschlägt ...

Meine billige Lösung ist zu:

  1. Besuchen Sie Ihre Datei unter http://example.com/favicon.ico in deinem Browser.
  2. Löschen Sie den favicon.ico aus Ihrem Webroot.
  3. Besuch http://example.com/favicon.ico Überprüfen Sie, ob es in einem Browser wieder fehlt.
  4. Laden Sie neue in Ihr Webroot hoch.
  5. Besuch http://example.com/favicon.ico Überprüfen Sie, ob es in einem Browser erneut die neue ist.

Wenn diese Sequenz nicht funktioniert, ist etwas anderes los.

Abhängig vom Browser werden sie unterschiedlich gehandhabt, aber normalerweise finde ich, dass es zur Standardseite der Website geht und eine harte Aktualisierung durchführt. Strg + F5, wird es normalerweise zum Aktualisieren bringen.

Auf Mac: + Wechsel-R oder halten Strg und klicken Sie im Browser auf die Schaltfläche REGLAD.

Für Internet Explorer gibt es eine andere Lösung:

  1. Öffnen Sie den Internet Explorer.
  2. Klicken Sie auf Menü> Tools> Internetoptionen.
  3. Klicken Sie auf Allgemein> Temporäre Internetdateien> "Einstellungen".
  4. Klicken Sie auf die Schaltfläche "Dateien anzeigen".
  5. Finden Sie Ihre alte favicon.ico -Datei und löschen Sie sie.
  6. Starten Sie den Browser neu (Internet Explorer).

Mehr als wahrscheinlich ein Webbrowserproblem. Sie müssen Ihren Cache aus Ihrem Browser löschen, Ihren Browser schließen und wieder eröffnen. Das sollte es beheben.

Ich glaube nicht, dass Ihre Favicons auf Ihren Favoriten aktualisiert werden, bis Sie diese Seite noch einmal besuchen, und vorausgesetzt, Sie hatten zuvor Ihren Browser -Cache gelöscht.

Ihr Webbrowser geht nicht ins Internet, um selbst einen neuen Favicon zu überprüfen ... Gott sei Dank.

Versuchen Sie, in einer neuen Registerkarte zu öffnen

Ich habe viele der oben genannten Dinge ausprobiert (Cache zurücksetzen, erfrischen, mit dem Link -Tag usw.). Ich habe sogar meine überprüft .htaccess Datei und Zurücksetzen der Variablen von ExpiresByType.

Aber das hat für mich sowohl in Chrome (25.0.x) als auch in Safari (6.0.1) schließlich funktioniert:

  1. Spülung Cache
  2. Hart vernetzen das Favicon mit dem <link> Schild
  3. Navigieren zu mysite.com/favicon.ico
  4. Öffnung mysite.com in einer neuen Registerkarte

(Bis Schritt 3, erfrischend in derselben Registerkarte reproduzierte das alte Symbol.)

Wenn Sie für Chrome on macOS nicht die gesamte Chrome Favicon -Datenbank löschen möchten, wie bereits vorgeschlagen, können Sie nur die widersprüchlichen Symbole löschen:

  1. Verchrom aufgeben
  2. Laden Sie die Favicons -Datenbank (mit SQLite hier):

sqlite3 ~/Library/Application\ Support/Google/Chrome/Default/Favicons

  1. Suchen Sie nach der Datei, die Probleme verursacht

select * from favicons where url = 'http://mysite.dev/favicon.ico';

  1. Wenn Sie mit der Ausgabe zufrieden sind:

delete from favicons where url = 'http://mysite.dev/favicon.ico';


Alternative, Sie können nach einem Muster suchen, das Sie wiederverwenden können, um mehrere Einträge zu löschen:


  1. Suchen nach Mehrere Dateien das verursacht Probleme

select * from favicons where url like 'http://mysite.dev%';

  1. Und noch einmal, wenn Sie mit dem zufrieden sind, was dies zurückgibt:

delete from favicons where url like 'http://mysite.dev%';


  1. Typ .exit und drücken Sie die Rückkehr, um SQLite zu beenden
  2. Starten Sie Chrome neu

Wenn Sie das Favicon von Google anfordern, können Sie sich die Antwortschicht ansehen.

Last-Modified: Fri, 09 Jan 2009 16:35:02 GMT
Date: Thu, 01 Dec 2010 00:00:01 GMT
Expires: Fri, 01 Dec 2011 00:00:01 GMT
Cache-Control: public, max-age=31536000
Age: 7

Wenn Sie "Ablauf:" Header für die Antwort einstellen, werden das Icon nach diesem Zeitstempel wieder aufgenommen. Während der aktiven Entwicklung können Sie den Zeitstempel in Zukunft auf ein oder zwei Sekunden einstellen und immer ein schlechter langfristiger Plan finden.

Chromes Favicon -Unterstützung ist fehlerhaft - ignorieren diese Antwort

Ich habe diese Antwort unter dem Eindruck geschrieben, dass dies das war, was ich brauchte, um Favicons in Google Chrome zu aktualisieren. Es stellt sich jedoch heraus, dass dies nur für die ersten fünf Minuten oder so funktioniert, bis das Symbol bekommt unwiederbringlich verloren in Chroms Geschichte Synchronisation.

Ursprüngliche Antwort

Sie müssen Ihren Cache nicht löschen, Ihren Browser neu starten. oder Schreiben Sie Ihre HTML neu - Sie müssen nur die URL des Symbols ändern. einmal, Damit der Browser das zuvor abgeschnittene Symbol vergisst.

Angenommen, Sie haben Ihr Symbol über definiert <link> Elemente in der Ihrer Seite <head>, Sie können dies tun, indem Sie dies ausführen Standard-Js-Ein-Liner in der Konsole:

[].slice.call(document.querySelectorAll('head>link[rel$="icon"]')).map(function(ln){ln.href+='?v=2'});

Für eine fortschrittlichere Implementierung davon, die dies automatisch für Endbenutzer in der Produktion tun kann, siehe frischicon.js.

Ich habe kürzlich meine Lesezeichen restauriert und suchte nach einer Möglichkeit, die Favicons wiederherzustellen, ohne jede Seite zu besuchen. Meine Suche brachte mich zu diesem Thread.

Für diejenigen unter ähnlichen Umständen laden Sie lediglich das Favicon Reloader Addon herunter. Nach der Installation finden Sie den Befehl "Favoriten" in Ihrem Dropdown -Menü "Lead -Symbole".

https://addons.mozilla.org/en-us/firefox/addon/faviconreloader/?src=api

Wenn Sie PHP verwenden, können Sie diese Zeile auch verwenden.

<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />

Es wird Ihr Favicon auf jeder Seite geladen.

Chromversion: 68.0.3440.106

Starten Sie einfach Chrome (in Ihrer Adressleiste) neu:chrome://restart

Wenn Sie nur daran interessiert sind, es zu debuggen, um sicherzustellen, dass es sich geändert hat, können Sie Ihre /etc /hosts -Datei einfach einen Dummy -Eintrag hinzufügen und die neue URL drücken. Das Favicon würde nicht noch zwischengespeichert und Sie können sicherstellen, dass Sie neu arbeiten.

Wenn Sie nicht den Namen des Favicon ändern, können Sie Ihre Benutzer auf keinen Fall zwingen, eine neue Kopie zu erhalten

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 Standard Favicons C: Benutzer [Benutzername] AppData Local Google Chrome Benutzerdaten Default favicons-journal

Quelle

Dies ist eine Problemumgehung für den Chrom -Fehler: Ändern Sie das REL -Attribut in Stylesheet! Halten Sie den ursprünglichen Link jedoch. Klappt wunderbar:

Ich habe mir diese Problemumgehung ausgedacht, weil wir auch die Voraussetzung haben, die Websites / den Produktionscode des Kunden aktualisieren zu können, und ich habe keine der anderen Lösungen für die Arbeit gefunden.

Ich weiß, dass dies eine wirklich alte Frage ist, aber es ist auch eine relevante, obwohl diese Tage nur für Mozilla gilt. (Ich habe keine Ahnung, was Explorer macht, weil wir nicht für nicht Standard -Browser codieren.)

Chrome hat sich gut benommen, wenn man ein Symbol -Tag in den Header enthält.

Obwohl sich Mozilla wie immer des Problems bewusst ist, reparieren sie nie die nervigen kleinen Dinge. Sogar 6 Jahre später.

Es gibt also zwei Möglichkeiten, eine Icon -Aktualisierung mit Firefox zu erzwingen.

  1. Lassen Sie alle Ihre Kunden Firefox deinstallieren. Dann neu installieren.

  2. Geben Sie manuell nur die Domain in der URL -Leiste ein - verwenden Sie nicht HTTP oder www nur die Domain (mydomain.com).

Dies setzt natürlich voraus, dass Ihre NS -Aufzeichnungen nur für den Domain -Namen eine Lösung enthalten.

So hat ich es mit einem einfach animierten Favicon und Firefox 3.6.13 (Beta -Version) geschafft. Lassen Sie mich wahrscheinlich auch für andere Versionen von Firefox funktionieren. Lassen Sie mich wissen, ob dies nicht der Fall ist. Es ist im Grunde die Lösung von Artlung, aber auch die .gif -Datei anspricht:

  1. Ich habe nach FTP -Programm eröffnet und meine Dateien favicon.ico und favicon.gif heruntergeladen,
  2. Dann löschte sie aus den Dateien meines Servers.
  3. Dann öffnete ich sie in meinem Browser, wie Artlung vorschlug:http://mysite.com/favicon.ico UND http://mysite.com/favicon.gif Sobald diese Adressen geladen und angezeigt wurden 404 Fehlerseiten ("Seite nicht gefunden")
  4. Ich habe dann beide Dateien auf meinen Server zurückgeladen und Presto - die richtigen Symbole wurden sofort angezeigt.

Stellen Sie außerdem sicher, dass Sie die vollständige Bild -URL nicht nur ihren relativen Weg einlegen:

http://www.example.com/images/favicon.ico

Und nicht:

images/favicon.ico

Wenn das Problem trotz der Anwendung einiger Schritte oben fortgesetzt wird Versuchen Sie, den IIS -Server neu zu starten. Hoffe das hilft...

Einfach,

1: Ich möchte nicht mit Codes herumspielen (PS, mein Site Builder verwendet keine Codes, verwendet die Schaltfläche "Datei hochladen" und sie selbst macht es selbst)

2: Ich habe das ausprobiert Strg+F5 Und es funktioniert für mich nicht so ....

ICH HABE EINE LÖSUNG:

IE: Alle Browser -Geschichte und Cookies löschen, indem Sie zu den Einstellungen gehen, COG O.

Chrome: Gehen Sie zum Menü in der oberen rechten Ecke unterhalb des x, das wie a = aussieht, dann zu Einstellungen, Verlauf, durch die Browserdaten und überprüfe alle Kästchen, die angewendet werden Anfang der Zeit)

Ändern Sie einfach diesen Dateinamen = 'favicon1.ico' '

Bitte befolgen Sie die folgenden Schritte, um das App -Symbol zu ändern:

  1. Fügen Sie Ihre .ICO -Datei in das Projekt hinzu.
  2. Gehen Sie zu Angular.json und in diesen "Projekten" -> "Architekt" -> "Build" -> "Optionen" -> "Assets" und erstellen Sie hier einen Eintrag für Ihre Symboldatei. Siehe den vorhandenen Eintrag von favicon.ico, um zu wissen, wie es geht.
  3. Gehen Sie zu Index.html und aktualisieren Sie den Pfad der Icon -Datei. Zum Beispiel,

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

Benennen Sie alternativ Ihre Symboldatei mit favicon.ico um und ersetzen Sie sie im Verzeichnis.

  1. Starten Sie den Server neu.
  2. Hartes Erfrischungsbrowser und Sie können loslegen.

Simon, ich nehme an, es gibt einen Grund, warum bisher keine der anderen Antworten akzeptiert wird. So glaube ich das könnte Seien Sie dennoch ein Grails -Problem - insbesondere wenn Sie das "Ressourcen -Plugin" verwenden.

Wenn Ihre Plugins ein Favicon liefern (was - unlogisch - viele tun), können sie die von Ihnen gewünschte Überschreibung überschreiben - wenn Sie Ihr Plugin selbst befinden.

Wenn das Löschen des Favicon von all Ihren Plugins vorübergehend das Problem löst, erleben Sie dies sehr wahrscheinlich:

http://jira.grails.org/browse/gpresources-134

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top