Hemos descubierto que Firefox (al menos v3) y Safari no guardan correctamente las imágenes a las que se hace referencia desde un archivo css. Las imágenes se almacenan en caché, pero nunca se actualizan, incluso si las cambia en el servidor. Una vez que Firefox tiene la imagen en la memoria caché, nunca verificará si ha cambiado.Las imágenes de la hoja de estilo no se vuelven a cargar en Firefox o Safari
Nuestro archivo CSS se ve así:
div#news {
background: #FFFFFF url(images/newsitem_background.jpg) no-repeat;
...
}
El problema es que si ahora cambiamos la imagen newsitem_background.jpg, todos los usuarios de Firefox seguirán recibiendo la imagen de edad, a menos que explícitamente refrescar la página. IE, por otro lado, detecta que la imagen ha cambiado y la recarga automáticamente.
¿Es esto un problema conocido? ¿Alguna solución? ¡Gracias!
EDITAR: La solución es no presionar F5. Puedo hacer esto. Pero nuestros clientes simplemente visitarán nuestro sitio web y obtendrán los gráficos viejos y desactualizados. ¿Cómo sabrían que tendrían que presionar F5?
He instalado Firebug y confirmé lo que ya sospechaba: Firefox simplemente ni siquiera intenta recuperar las imágenes a las que se hace referencia desde un archivo css, para averiguar si se han modificado. Cuando presiona F5, comprueba todas las imágenes, y el servidor web responde amablemente con 304, excepto aquellos que han cambiado, donde responde con 200 OK.
Entonces, ¿hay alguna manera de instar a Firefox a automáticamente actualizar una imagen a la que se hace referencia desde un archivo css? Seguramente no soy el único con este problema?
Edit2: He probado esto con el localhost, y la respuesta de la imagen no contiene ninguna información de almacenamiento en caché, que es:
Server Microsoft-IIS/5.1
X-Powered-By ASP.NET
Date Tue, 14 Oct 2008 11:01:27 GMT
Content-Type image/jpeg
Accept-Ranges bytes
Last-Modified Tue, 14 Oct 2008 11:00:43 GMT
Etag "7ab3aa1aec2dc91:9f4"
Content-Length 61196
Edit3: He hecho un poco más de lectura y parece que sólo puede' Se puede arreglar, ya que Firefox, o la mayoría de los navegadores, simplemente suponen que una imagen no cambia muy a menudo (caduca el encabezado y todo).
Hemos llegado a la misma conclusión aquí. Necesitamos agregar una cadena a la URL de la imagen. – mark
use ctrl + f5 para recargar –