2010-08-27 17 views
5

Estoy trabajando en un sitio de aplicación de calendario para uso interno aquí. Básicamente es un contenedor para una página de calendario de Google, pero habrá algunas cosas adicionales en la parte superior con el calendario a continuación. Un tipo de cosa "divertida" que me gustaría hacer con esto es cambiar el favicon de la página cada día. Estoy usando una especie de imagen de calendario y me gustaría que muestre la imagen para el día actual. es posible?¿Puedo cambiar un favicon diariamente?

Estoy usando asp.net webforms, pero realmente estoy haciendo la pregunta en un nivel inferior - ¿es posible hacer esto o los navegadores lo almacenarán en la memoria caché demasiado agresivamente?

+0

Buena idea por cierto. –

Respuesta

7

En teoría, puedes. En la práctica, los navegadores lo almacenan en caché muy agresivamente. Su mejor opción es colocar el archivo de favicon fuera de la carpeta raíz (para evitar la búsqueda automática) y definirlo manualmente en <head> junto con una marca de tiempo cambiante diaria en la cadena de consulta de la URL de favicon. P.ej.

<link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico?3213256"> 

Oh, la página HTML en sí también debe tener menos o más los mismos valores de control de caché, de lo contrario el navegador solicitará la propia página de la memoria caché y por lo tanto nunca refrescar el favicon.

+1

Buena idea, forzar una ruta única es una buena manera de salir del problema de caché +1 – Konrad

+0

Hmm ... que 3213256 parece más de lo necesario. Apuesto a que podría salirse con la reutilización de 1-31. –

+0

Eso fue solo un ejemplo :) No importa lo que pongas, siempre y cuando cambie a diario. – BalusC

0

Debería poder controlar cómo se almacena el favicon en caché configurando el encabezado expira. Alternativamente, simplemente cambie la URL al favicon diariamente y configúrelo usando el encabezado del enlace.

<link href='http://example.com/favicon-20100827.ico' rel='shortcut icon'/