Pregunta

Tengo una aplicación Grails que se ejecuta localmente usando su propio Tomcat y acabo de cambiar el Favicon para uno nuevo. El problema es que no puedo verlo en ningún navegador. El viejo favicon aparece o no tengo ningún favicon en absoluto, pero no mi nuevo. No creo que este sea un problema de Grials per se, más un problema con los favicons.

¿Qué se supone que sucederá con los favicones? ¿Cómo se supone que deben funcionar? Tengo numerosos marcadores en mi navegador que tienen los íconos equivocados y nunca parecen refrescarse. ¿Cómo obligo al servidor/navegador a dejar de almacenarlos en caché? Parece bastante tonto almacenarlos siempre dado que normalmente son solo 16x16. ¿Por qué no simplemente subirlos con cada visita a la página? No es exactamente una gran sobrecarga.

¿Fue útil?

Solución

Para actualizar el favicon de su sitio, puede obligar a los navegadores a descargar una nueva versión usando la etiqueta de enlace y una consulta en su nombre de archivo. Esto es especialmente útil en entornos de producción para asegurarse de que sus usuarios obtengan la actualización.

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

Otros consejos

Ok, después de 10 minutos de wtf'ing, la manera fácil de solucionarlo está cerca de la de LineOfbirds

  1. Escriba www.yoursite.com/favicon.ico (o www.yoursite.com/apple touch-icon.png, etc.)
  2. Empujar ingresar
  3. control+f5
  4. Reiniciar el navegador (es decir, Firefox)

Esta respuesta aún no se ha dado, así que pensé en publicarla. Busqué en toda la web y no encontré una buena respuesta para probar favicones en el desarrollo local.

En la versión actual de Chrome (en OSX) si hace lo siguiente, obtendrá una actualización instantánea de Favicon:

  1. Pestaña Over Pests
  2. Botón derecho del ratón
  3. Seleccionar recargar
  4. Tu favicon ahora debe renovarse

Esta es la forma más fácil que he encontrado para refrescar el favicon localmente.

Cambie el nombre del archivo Favicon y agregue un encabezado HTML con el nuevo nombre, como:

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

Si usa PHP, también puede usar el MD5-Hash del Favicon como una cuerda de consulta:

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

De esta manera, el Favicon siempre se actualizará cuando se haya cambiado.

Como se señaló en los comentarios, también puede usar la última fecha modificada en lugar del MD5-Hash para lograr lo mismo y guardar un poco en el rendimiento del servidor:

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

Al destruir el archivo que su navegador usa para almacenar viejos favicones, puede forzar a otros nuevos a cargarse.

  1. Cierra tu navegador. Asegúrese de que ya no haya procesos de navegador en ejecución (por ejemplo, verificación de tareas del administrador de tareas para chrome.exe o firefox.exe).
  2. Navegue a donde su navegador almacene archivos de usuario:
  3. Elimine el caché de Favicon.
    • Para el cromo, eliminar Favicons y Favicons-journal
    • Para Firefox, retire favicons.sqlite

Esto casi definitivamente funcionará. Que no:

  • Posibilidad 1: Una actualización de su navegador ha cambiado cómo funciona el caché Favicon. Edite esta respuesta con nuevas instrucciones.
  • Posibilidad 2: Su problema de Favicon no tiene nada que ver con el almacenamiento en caché excesivo. En cambio, puede ser un problema de carga de recursos: con las herramientas de desarrollador, asegúrese de que el nuevo Favicon esté descargando correctamente.

En Chrome en Mac OS X se puede eliminar el archivo con Favicon Cache

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

Bueno, la sobrecarga está en lo alto, pero sí, no demasiado grande.

Además, los navegadores a veces son "codiciosos" sobre los archivos almacenados en caché. Puede borrar el caché y/o reiniciar su navegador y puede ver el cambio. Sin embargo, si eso falla ...

Mi solución barata es:

  1. Visite su archivo en http://example.com/favicon.ico en tu navegador.
  2. Elimine el favicon.ico de su raíz web.
  3. Visitar http://example.com/favicon.ico De nuevo en un navegador, verifique que falte.
  4. Sube uno nuevo a tu raíz web.
  5. Visitar http://example.com/favicon.ico De nuevo en un navegador, verifique que sea el nuevo.

Si esa secuencia no funciona, entonces está sucediendo algo más.

Dependiendo del navegador, se manejan de manera diferente, pero generalmente encuentro que ir a la página predeterminada del sitio y hacer una actualización difícil. CONTROL + F5, normalmente lo hará actualizar.

En Mac: + Cambio-Riñonal o mantenga presionada Control y haga clic en el botón Recargar en el navegador.

Para Internet Explorer, hay otra solución:

  1. Abra Internet Explorer.
  2. Haga clic en Menú> Herramientas> Opciones de Internet.
  3. Haga clic en General> Archivos de Internet temporales> Botón "Configuración".
  4. Haga clic en el botón "Ver archivos".
  5. Encuentre su antiguo archivo favicon.ico y elimínelo.
  6. Reiniciar el navegador (Internet Explorer).

Es muy probable que un problema de navegador web. Tendrá que eliminar su caché de su navegador, cerrar su navegador y reabrirlo. Eso debería arreglarlo.

No creo que sus favicones se actualicen en sus favoritos hasta que vuelva a visitar esa página, y suponiendo que previamente haya aclarado el caché de los navegadores.

Su navegador web no saldrá a Internet para verificar un nuevo Favicon por sí solo ... gracias a Dios.

Intenta abrir en una nueva pestaña

Probé muchas de las cosas anteriores (restablecimiento de caché, refrescante, usando la etiqueta de enlace, etc.), incluso revisé mi .htaccess Archifique y restablezca la variable ExpiresByType.

Pero esto es lo que finalmente funcionó para mí tanto en Chrome (25.0.x) como en Safari (6.0.1):

  1. Caché
  2. Destacando el favicón con el <link> etiqueta
  3. Navegando a mysite.com/favicon.ico
  4. Apertura mysite.com En una nueva pestaña

(Hasta el paso 3, refrescante en la misma pestaña seguía reproduciendo el icono anterior).

Para Chrome en MacOS, si no desea eliminar toda la base de datos de Chrome Favicon como ya se sugirió aquí, solo puede eliminar los iconos conflictivos:

  1. Deja de cromo
  2. Cargue la base de datos Favicons (usando SQLite aquí):

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

  1. Busque el archivo que está causando problemas

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

  1. Si está satisfecho con la salida:

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


Alternativamente, puede buscar un patrón que pueda reutilizar para eliminar múltiples entradas:


  1. Buscar múltiples archivos que están causando problemas

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

  1. Y nuevamente si estás contento con lo que esto vuelve:

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


  1. Escribe .exit y presione el regreso para salir de SQLite
  2. Reiniciar Chrome

Cuando solicita el Favicon de Google, puede echar un vistazo a los encabezados de respuesta.

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 pone un encabezado "expirado:" en la respuesta, los navegadores de clientes volverán a requerir el icono después de esa marca de tiempo. Mientras realiza un desarrollo activo, podría establecer la marca de tiempo expirada en una segunda o dos en el futuro, y siempre hacer que lo busque, aunque ese es un mal plan a largo plazo.

El soporte de Favicon de Chrome es erróneo: ignore esta respuesta

Escribí esta respuesta bajo la impresión de que esto es lo que se necesitó para refrescar los favicones en Google Chrome. Sin embargo, resulta que esto solo funciona durante los primeros cinco minutos más o menos, hasta que el icono se ponga sincronizar irremediablemente en la sincronización de la historia de Chrome.

Respuesta original

No tiene que borrar su caché, reiniciar su navegador, o Reescribe tu HTML: solo necesitas cambiar la URL del icono, una vez, de modo que el navegador olvidará el icono de anteriormente almacenado.

Suponiendo que ha definido su icono a través de <link> elementos en su página <head>, puedes hacer eso ejecutando esto Standard-JS One-Liner En la consola:

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

Para una implementación más avanzada de esto que pueda hacer esto automáticamente para los usuarios finales en producción, ver Freshicon.js.

Recientemente restauré mis marcadores y estaba buscando una manera de restaurar los favicones sin visitar cada página. Mi búsqueda me trajo a este hilo.

Para aquellos en una circunstancia similar, simplemente descargue el complemento de Favicon Reloader. Una vez instalado, encontrará el comando "Recargar iconos favoritos" en el menú desplegable de sus marcadores.

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

Si está utilizando PHP ... entonces también puede usar esta línea.

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

Actualizará su favicon en cada carga de página.

Versión de Chrome: 68.0.3440.106

Simplemente reinicie Chrome (en su barra de direcciones):chrome://restart

Si solo está interesado en depurarlo para asegurarse de que haya cambiado, solo puede agregar una entrada ficticia a su archivo /etc /hosts y presionar la nueva URL. Ese favicon no estaría en caché ya en caché y puedes asegurarte de que tu nuevo funcione.

Aparte de cambiar el nombre del favicon, no hay forma de que puedan obligar a sus usuarios a obtener una nueva copia

Esto funciona para Chrome:

  • En Mac: Eliminar archivo

    $ {user.home}/biblioteca/soporte de aplicación/google/chrome/default/favicons

  • En Windows: eliminar archivos

    C: users [username] appData local google chrome user data default favicons c: users [username] appData local google chrome user data default favicons-journal

fuente

Esta es una solución para el error Chrome: cambie el atributo REL a Stylesheet! Sin embargo, mantenga el enlace original. Funciona de maravilla:

Se me ocurrieron esta solución porque también tenemos el requisito de poder actualizar los sitios / código de producción del cliente y no encontré ninguna de las otras soluciones para funcionar.

Sé que esta es una pregunta realmente antigua, pero también es una que sigue siendo relevante, aunque en estos días se aplica solo a Mozilla. (No tengo idea de qué hace Explorer porque no codificamos para navegadores no estándar).

Chrome se porta bien si uno incluye una etiqueta de icono en el encabezado.

Aunque Mozilla es muy consciente del problema, como de costumbre, nunca arreglan las cosas pequeñas molestas. Incluso 6 años después.

Por lo tanto, hay dos formas de forzar un icono actualizar con Firefox.

  1. Haga que todos sus clientes desinstale Firefox. Luego vuelva a instalar.

  2. Escriba manualmente solo el dominio en la barra de URL: no use http o www solo el dominio (mydomain.com).

Esto supone, por supuesto, que sus registros NS incluyen resolución solo para el nombre de dominio.

Así es como lo logré con un Favicon simplemente animado y Firefox 3.6.13 (versión beta) Probablemente también funcionará para otras versiones de Firefox, avíseme si no es así. Básicamente es la solución de Artlung, pero también abordar el archivo .gif:

  1. Abrí por el programa FTP, descargué mis archivos favicon.ico y favicon.gif,
  2. Luego los eliminó de los archivos de mi servidor.
  3. Luego los abrí en mi navegador como sugirió Artlung:http://mysite.com/favicon.ico Y http://mysite.com/favicon.gif Una vez que esas direcciones cargaron y mostraron 404 páginas de error ("Página no encontrada")
  4. Luego subí ambos archivos nuevamente en mi servidor, y Presto: los iconos correctos se mostraron instantáneamente.

También asegúrese de colocar la URL de imagen completa no solo su camino relativo:

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

Y no:

images/favicon.ico

Si el problema continúa a pesar de aplicar algunos pasos anteriores Intente reiniciar el servidor IIS. Espero que esto ayude...

Simple,

1: No quiero jugar con los códigos (PS que mi creador de sitios no usa códigos, usa el botón "Cargar archivo" y lo hace en sí mismo)

2: probé el CONTROL+F5 y no funciona para mí así ...

TENGO UNA SOLUCIÓN:

Es decir: borre todo el historial y las cookies del navegador yendo a la configuración Cog o

Chrome: vaya al menú en la esquina superior derecha debajo de la x que parece a =, luego vaya a la configuración, el historial, borre los datos de navegación y verifique todas las casillas que se aplican (hice historial, cookies y vacíe el captura del principio de los tiempos)

Simplemente cambie este nombre de archivo = 'favicon1.ico'

Siga los pasos a continuación para cambiar el icono de la aplicación:

  1. Agregue su archivo .iCo en el proyecto.
  2. Vaya a Angular.json y en ese "Proyectos" -> "Arquitecto" -> "Build" -> "Opciones" -> "Activos" y aquí realice una entrada para su archivo de icono. Consulte la entrada existente de Favicon.ico para saber cómo hacerlo.
  3. Vaya a index.html y actualice la ruta del archivo de icono. Por ejemplo,

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

Alternativamente, cambie el nombre de su archivo de icono con Favicon.ico y reemplácelo en el directorio.

  1. Reinicie el servidor.
  2. Browser de actualización dura y está listo para comenzar.

Simon, supongo que hay una razón por la que ninguna de las otras respuestas es aceptada hasta ahora. Así creo esto pudo Sin embargo, sea un problema de los gros, especialmente si está utilizando el 'complemento de recursos'.

Si sus complementos proporcionan un Favicon (que, ilógicamente, muchos lo hacen), pueden anular el que deseó usar, dado que el suyo está en un complemento en sí.

Si elimina el Favicon de todos sus complementos, temporalmente resuelve el problema, entonces es muy probable que experimente esto:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top