J'ai une application Grails s'exécutant localement avec son propre Tomcat et je viens de changer le favicon pour un nouveau. Le problème est que je ne peux le voir dans aucun navigateur. L'ancien favicon apparaît ou je ne reçois aucun favicon, mais pas le nouveau. Je ne pense pas que ce soit un problème Grails en soi, mais plutôt un problème avec des favicons.
Qu'est-ce qui est censé se passer avec les favicons? Comment sont-ils censés travailler? Dans mon navigateur, de nombreux signets portent les mauvaises icônes et ne semblent jamais se rafraîchir. Comment forcer le serveur/navigateur à cesser de les mettre en cache? Il semble assez ridicule de toujours les cacher, sachant qu’ils n’ont normalement que 16x16 pixels. Pourquoi ne pas simplement les télécharger à chaque visite sur la page? Ce n'est pas exactement une surcharge énorme.
Pour actualiser l'icône de votre site, vous pouvez obliger les navigateurs à télécharger une nouvelle version à l'aide de la balise link et d'une chaîne de requête sur votre nom de fichier. Cela est particulièrement utile dans les environnements de production pour vous assurer que vos utilisateurs reçoivent la mise à jour.
<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />
Ok, après 10 minutes de wtf'ing, le moyen facile de le réparer est proche de celui de lineofbirds
Cette réponse n'a pas encore été donnée, alors j'ai pensé la poster. J'ai parcouru le Web et je n'ai pas trouvé de bonne solution pour tester les favicons dans le développement local.
Dans la version actuelle de chrome (sur OSX), si vous procédez comme suit, vous obtiendrez une actualisation instantanée des favicon:
C’est le moyen le plus simple que j’ai trouvé d’actualiser localement le favicon.
Renommez le fichier favicon et ajoutez un en-tête HTML avec le nouveau nom, tel que:
<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />
Si vous utilisez PHP, vous pouvez également utiliser le hachage MD5 du favicon comme chaîne de requête:
<link rel="shortcut icon" href="favicon.ico?v=<?php echo md5_file('favicon.ico') ?>" />
De cette façon, le Favicon sera toujours actualisé lorsqu'il aura été modifié.
Comme indiqué dans les commentaires, vous pouvez également utiliser la dernière date de modification au lieu du hachage MD5 pour obtenir le même résultat et économiser un peu sur les performances du serveur:
<link rel="shortcut icon" href="favicon.ico?v=<?php echo filemtime('favicon.ico') ?>" />
En détruisant le fichier utilisé par votre navigateur pour stocker les anciennes favicons, vous pouvez forcer le chargement de nouvelles.
chrome.exe
ou firefox.exe
).Favicons
et Favicons-journal
favicons.sqlite
Cela fonctionnera presque certainement. Si non:
Dans Chrome sur Mac OS X, on peut supprimer un fichier avec le cache favicon
${user.home}/Library/Application Support/Google/Chrome/Default/Favicons
Bien, les frais généraux sont les frais généraux, mais oui, pas trop gros.
En outre, les navigateurs sont parfois "gourmands" à propos des fichiers en cache. Vous pouvez vider le cache et/ou redémarrer votre navigateur et voir les modifications. Si cela échoue cependant ...
Ma solution cheapo est de:
Si cette séquence ne fonctionne pas, il se passe autre chose.
En fonction du navigateur, elles sont traitées différemment, mais je trouve généralement que cela va à la page par défaut du site, et effectue une actualisation physique. CTRL + F5, le fera généralement mettre à jour.
SUR MAC: ⌘ + Shift-R ou maintenez Ctrl et cliquez sur le bouton de rechargement dans le navigateur.
Pour Internet Explorer, il existe une autre solution:
Plus que probablement un problème de navigateur Web. Vous devrez supprimer votre cache de votre navigateur, le fermer et le rouvrir. Cela devrait résoudre le problème.
Je ne crois pas que vos favoris se rafraîchiront dans vos favoris jusqu'à ce que vous reveniez sur cette page, en supposant que vous ayez préalablement vidé la mémoire cache de votre navigateur.
Votre navigateur Web n'ira pas sur Internet pour rechercher lui-même un nouveau favicon ... Dieu merci.
J'ai essayé beaucoup des choses ci-dessus (réinitialisation du cache, actualisation, utilisation de la balise link, etc.), j'ai même vérifié mon fichier .htaccess
et réinitialisé la variable ExpiresByType.
Mais c’est ce qui a finalement fonctionné pour moi dans Chrome (25.0.x) et Safari (6.0.1):
<link>
mysite.com/favicon.ico
mysite.com
dans un nouvel onglet(Jusqu'à l'étape 3, l'actualisation dans le même onglet continuait à reproduire l'ancienne icône.)
Pour Chrome sous macOS, si vous ne souhaitez pas supprimer la totalité de la base de données Google Favicon comme suggéré précédemment, vous pouvez supprimer uniquement les icônes en conflit:
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';
Alternativement , vous pouvez rechercher un modèle que vous pouvez réutiliser pour supprimer plusieurs entrées:
select * from favicons where url like 'http://mysite.dev%';
delete from favicons where url like 'http://mysite.dev%';
.exit
et appuyez sur Entrée pour quitter sqliteLorsque vous demandez un favicon à Google, vous pouvez consulter les en-têtes de réponse.
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
Si vous placez un en-tête "Expires:" dans la réponse, les navigateurs clients demanderont à nouveau l'icône après cet horodatage. Lorsque vous effectuez un développement actif, vous pouvez définir l'horodatage d'expiration sur une seconde ou deux dans le futur et le laisser toujours chercher ce résultat, bien que ce soit un plan médiocre à long terme.
J'ai écrit cette réponse avec l'impression que c'était ce qu'il fallait pour actualiser les favicons dans Google Chrome. Cependant, il s'avère que cela ne fonctionne que pendant les cinq premières minutes environ, jusqu'à ce que l'icône devienne irrémédiablement perdue dans la synchronisation de l'historique de Chrome .
Vous n'avez pas besoin de vider le cache, de redémarrer votre navigateur, de ou réécrire votre code HTML - il vous suffit de changer l'URL de l'icône, une fois, pour que le navigateur oublie l'icône précédemment mise en cache.
En supposant que vous ayez défini votre icône via des éléments <link>
dans le <head>
de votre page, vous pouvez le faire en exécutant le fichier standard-JS one-liner dans la console:
[].slice.call(document.querySelectorAll('head>link[rel$="icon"]')).map(function(ln){ln.href+='?v=2'});
Pour une implémentation plus avancée de ceci qui peut automatiquement le faire pour les utilisateurs finaux en production, voir freshicon.js .
J'ai récemment restauré mes favoris et je cherchais un moyen de restaurer les favicons sans visiter chaque page. Ma recherche m'a amené à ce fil.
Pour ceux qui se trouvent dans une situation similaire, téléchargez simplement l’addon FAVICON RELOADER. Une fois installé, vous trouverez la commande "Recharger les icônes favorites" dans le menu déroulant BOOKMARKS.
https://addons.mozilla.org/en-US/firefox/addon/faviconreloader/?src=api
Si vous utilisez PHP .., vous pouvez également utiliser cette ligne.
<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />
Il actualisera votre favicon à chaque chargement de page.
Si vous souhaitez simplement le déboguer pour vous assurer qu'il a bien été modifié, vous pouvez simplement ajouter une entrée factice à votre fichier/etc/hosts et cliquer sur la nouvelle URL. Ce favicon ne serait pas déjà mis en cache et vous pouvez vous assurer que votre nouveau fonctionne.
À part changer le nom du favicon, il n’ya aucun moyen de forcer vos utilisateurs à obtenir une nouvelle copie.
Version Chrome: 68.0.3440.106
Redémarrez simplement Chrome (dans la barre d'adresse): chrome://restart
Cela fonctionne pour Chrome:
sur Mac: supprimer le fichier
$ {user.home}/Bibliothèque/Support d'application/Google/Chrome/Par défaut/Favicons
sous Windows: supprimer des fichiers
C:\Utilisateurs [nom d'utilisateur]\AppData\Local\Google\Chrome\Données utilisateur\Par défaut\Favicons C:\Utilisateurs [nom d'utilisateur]\AppData\Local\Google\Chrome\Données utilisateur\Par défaut\Favicons journal
Je sais que c’est une question très ancienne, mais c’est aussi une question toujours d'actualité, bien que ces jours-ci ne s'appliquent qu'à la mozilla. (Je n'ai aucune idée de ce que fait Explorer car nous ne codons pas pour les navigateurs non standard).
Chrome se comporte bien si l’on inclut une balise icon dans l’en-tête.
Bien que Mozilla soit au courant du problème, comme d'habitude, elle ne répare jamais les petites choses agaçantes. Même 6 ans plus tard.
Donc, il y a deux façons de forcer une icône de rafraîchir avec Firefox.
Demandez à tous vos clients de désinstaller Firefox. Puis réinstallez.
Tapez manuellement juste le domaine dans la barre d’URL - n’utilisez pas http ou www Juste le domaine (mydomain.com).
Cela suppose bien sûr que vos enregistrements ns incluent uniquement la résolution du nom de domaine.
Assurez-vous également de mettre l'URL de l'image complète et pas seulement son chemin relatif
http://www.example.com/images/favicon.ico
Et pas:
images/favicon.ico
Ceci est une solution de contournement pour le bogue chrome: changez l'attribut rel en feuille de style! Gardez le lien d'origine si. Fonctionne comme un charme:
J'ai proposé cette solution de contournement, car nous devons également pouvoir mettre à jour les sites des clients/le code de production et je n'ai trouvé aucune autre solution efficace.
Il suffit de changer ce nom de fichier = 'favicon1.ico'
Si le problème persiste malgré l'application des étapes ci-dessus essayez de redémarrer le serveur IIS . J'espère que cela t'aides...
Simple,
1: Je ne veux pas me mêler de codes (ps, le constructeur de mon site n'utilise pas de codes, il utilise le bouton "Télécharger un fichier" et le fait lui-même)
2: j'ai essayé le CTRL+F5 et ça ne marche pas pour moi alors ...
J'ai une solution:
IE: Effacez tous les historiques du navigateur et les cookies en vous rendant dans les paramètres c. O
Chrome: allez dans le menu situé dans le coin supérieur droit en dessous du X qui ressemble à un =, puis allez dans les paramètres, l’historique, EFFACER LES DONNÉES DE NAVIGATION et cochez toutes les cases appropriées (j’ai fait Historique, les cookies et vider le la nuit des temps)
Voici comment je l'ai géré avec un favicon simplement animé et FireFox 3.6.13 (version bêta). Cela fonctionnera probablement aussi pour les autres versions de FireFox, faites-moi savoir s'il ne le fait pas .. C'est la solution fondamentalement d'artlung, le fichier .gif également: