Nous avons découvert que Firefox (au moins v3) et Safari ne mettent pas correctement en cache les images référencées à partir d'un fichier css. Les images sont mises en cache, mais elles ne sont jamais actualisées, même si vous les modifiez sur le serveur. Une fois que Firefox aura l'image dans le cache, il ne vérifiera jamais s'il a changé.Les images de feuille de style ne sont pas rechargées par Firefox ou Safari
Notre fichier CSS ressemble à ceci:
div#news {
background: #FFFFFF url(images/newsitem_background.jpg) no-repeat;
...
}
Le problème est que si l'on change maintenant l'image newsitem_background.jpg, tous les utilisateurs de Firefox toujours obtenir l'ancienne image, à moins qu'ils actualisent la page. IE, d'autre part, détecte que l'image a changé et le recharge automatiquement.
Est-ce un problème connu? Des solutions de contournement? Merci!
EDIT: La solution ne consiste pas à appuyer sur F5. Je peux le faire. Mais nos clients vont simplement visiter notre site web, et obtenir les anciens graphiques obsolètes. Comment sauraient-ils qu'ils devraient appuyer sur F5?
J'ai installé Firebug et confirmé ce que je soupçonnais déjà: Firefox n'essaie même pas de récupérer des images référencées à partir d'un fichier css, pour savoir si elles ont été modifiées. Lorsque vous appuyez sur F5, il vérifie toutes les images, et le serveur Web répond gentiment avec 304, à l'exception de ceux qui ont changé, où il répond avec 200 OK.
Donc, y a-t-il un moyen d'inciter Firefox à automatiquement mettre à jour une image qui est référencée à partir d'un fichier css? Sûrement je ne suis pas le seul avec ce problème?
EDIT2: J'ai testé cela avec localhost et la réponse d'image ne contient pas d'informations de mise en cache, il est:
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: Je l'ai fait un peu plus la lecture et on dirait qu'il ne peut tout simplement » t être corrigé, car Firefox, ou la plupart des navigateurs, supposent qu'une image ne change pas très souvent (expire en-tête et tout).
Nous avons édité arrivons à la même conclusion ici. Nous devons ajouter une chaîne à l'URL de l'image. – mark
utiliser ctrl + f5 pour recharger –