Grafik neu laden
S.Wick
- html
0 Sönke Tesch0 S.Wick
Ich bin gerade am Programmieren eines News-Systems. Dabei ist es wichtig, dass das heraufgeladene Bild bei jedem öffnen der Seite wieder neu geladen wird. Leider gleicht es einem Glücksspiel, ob das Bild aus dem Cache genommen oder neu geladen wird. Gibt es da ein Attribut, oder irgendetwas, dass das veranlasst? Habe bis jetzt nichts gefunden.
Danke!
Ich bin gerade am Programmieren eines News-Systems. Dabei ist es wichtig, dass das heraufgeladene Bild bei jedem öffnen der Seite wieder neu geladen wird. Leider gleicht es einem Glücksspiel, ob das Bild aus dem Cache genommen oder neu geladen wird. Gibt es da ein Attribut, oder irgendetwas, dass das veranlasst? Habe bis jetzt nichts gefunden.
Eigentlich sollte dafür die Angabe Last-Modified (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29) reichen. Die ist allerdings etwas unter Umständen schwierig zu verschicken. Mit Glück macht es der Webserver selber, am sichersten ist aber zweifelsohne, wenn man das per Skript steuern kann.
Mit Last-Modified ersparst Du dem Nutzer die eine oder andere Übertragung, da der Browser die Übertragung von einem Zeitpunkt abhängig machen kann. Ist die Grafik neuer, wird sie übertragen, wurde sie nicht geändert, bekommt der Browser nur die kurze Meldung, daß sich nichts geändert hat.
Ändert sich die Grafik bei wirklich jedem Zugriff, kannst in die .htaccess des entsprechenden Verzeichnisses
<files dateiname>
header set Cache-Control no-cache
</files>
einfügen. dateiname kann dabei auch ein Muster sein, z.B. *.jpg. <files> bzw. <filesmatch> akzeptieren aber auch RegEx-Muster. B
Beschreibungen siehe http://httpd.apache.org/docs/mod/core.html#files (Apache/<files> und <filesmatch>), http://httpd.apache.org/docs/mod/mod_headers.html#header (Apache/header) und [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9] (HTTP/Cache-Control).
Alternativ kannst Du auch über Expires gehen: http://httpd.apache.org/docs/mod/mod_expires.html, das trifft den Nagel allerdings nicht ganz auf den Kopf, kann aber auch wiederum ein paar Übertragungen einsparen.
Gruß,
soenk.e
danke erstmal. aber ich hab's probiert mit der htaccess. hat nichts gebracht. ich muss allerdings dazu sagen, dass es sich dabei um ein java-script handelt, das eine textarea in einen WYSIWYG-Html-Editor umwandelt. die bilder darin müssten immer aktualisiert werden. gibt es vielleicht auch einen javascript-befehl, der das erledigen könnte?
danke erstmal. aber ich hab's probiert mit der htaccess. hat nichts gebracht. ich muss allerdings dazu sagen, dass es sich dabei um ein java-script handelt, das eine textarea in einen WYSIWYG-Html-Editor umwandelt. die bilder darin müssten immer aktualisiert werden. gibt es vielleicht auch einen javascript-befehl, der das erledigen könnte?
Fraglich. Auch mit Javascript kannst Du nur den Netzwerkteil des Browsers auffordern, eine URL abzurufen. Daß es mit no-cache nicht funktioniert, wundert mich allerdings etwas. Schon geprüft, ob die Cache-Control-Zeile durchkommt? Nicht das da irgendein Tippfehler in der .htaccess ist.
Gruß,
soenk.e