Wir haben herausgefunden, dass Firefox (mindestens v3) und Safari Bilder, die von einer CSS-Datei referenziert werden, nicht richtig cachen. Die Bilder werden zwischengespeichert, aber sie werden nie aktualisiert, auch wenn Sie sie auf dem Server ändern. Sobald Firefox das Bild im Cache hat, überprüft es nie, ob es sich geändert hat.Stylesheet-Bilder werden nicht von Firefox oder Safari neu geladen
Unsere CSS-Datei sieht wie folgt aus:
div#news {
background: #FFFFFF url(images/newsitem_background.jpg) no-repeat;
...
}
Das Problem, das ist, wenn wir jetzt die newsitem_background.jpg Bild ändern, werden alle Firefox-Nutzer immer noch das alte Bild erhalten, sofern sie nicht ausdrücklich die Seite aktualisieren. IE hingegen erkennt, dass sich das Bild geändert hat und lädt es automatisch neu.
Ist dies ein bekanntes Problem? Irgendwelche Problemumgehungen? Vielen Dank!
EDIT: Die Lösung ist nicht F5 drücken. Ich kann dies tun. Aber unsere Kunden werden nur unsere Website besuchen und die alten, veralteten Grafiken bekommen. Wie würden sie wissen, dass sie F5 drücken müssen?
Ich habe Firebug installiert und bestätigt, was ich bereits vermutet habe: Firefox versucht nicht einmal Bilder aus einer CSS-Datei abzurufen, um herauszufinden, ob sie geändert wurden. Wenn Sie F5 drücken, überprüft es alle Bilder, und der Webserver antwortet nett mit 304, außer denen, die geändert haben, wo es mit 200 OK antwortet.
Also gibt es eine Möglichkeit, Firefox auf automatisch zu zwingen, ein Bild zu aktualisieren, das aus einer CSS-Datei referenziert wird? Sicher bin ich nicht der Einzige mit diesem Problem?
EDIT2: ich dies mit localhost getestet, und die Bild Antwort enthält keine Cache-Informationen, es ist:
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: Ich habe etwas mehr Lesung getan, und es sieht aus wie es nur kann‘ t fix sein, da Firefox, oder die meisten Browser, einfach davon ausgehen, ein Bild ändert sich nicht sehr oft (abläuft Header und alle).
Wir haben hier zum gleichen Schluss kommen. Wir müssen der Bild-URL eine Zeichenfolge hinzufügen. – mark
benutze ctrl + f5 zum nachladen –