Browser Cache mittels Script leeren?
Marcus
- programmiertechnik
Hallo zusammen,
ich hoffe, es ist in Ordnung, daß ich die Frage hier poste, da es gewissermaßen nicht mit Webdesign im herkömmlichen Sinne zu tun hat.
Mein Problem ist folgendes: Ich habe bei mir auf der Arbeit eine HTA-Application in VBScript geschrieben, die den Internet Explorer dazu veranlaßt, in gewissen zeitlichen Abständen (Stand-)Bilder von bei uns installierten Webcams zu holen (auf den Kameras läuft ein Webserver, der auf entspr. Nachfrage via http eine Momentaufnahme zurückliefert). Diese Schnappschüsse zeige ich sodann im Browserfenster an. Dann ist mir jedoch aufgefallen, daß der IE gelegentlich "veraltete" Bilder anzeigt. Wenn bspw. eine Person seit einer Stunde quasi reglos verharrt, sollte man wohl mißtrauisch werden. ;-) Anscheinend hält sich der IE die Bilder im Cache und zeigt sie wiederholt an, statt sie sich neu zu holen.
Frage also: Kann ich den Browsercache via Script leeren (und wenn ja, wie)?
Viele Grüße Marcus
Sorry, hatte bei meiner eMail-Addresse das ".de" vergessen!
hi,
Frage also: Kann ich den Browsercache via Script leeren (und wenn ja, wie)?
möglich, dass der IE sich über VB derart fernsteuern lässt, dass man die internet optionen aufrufen und dort das löschen auslösen kann.
aber vielleicht geht es ja auch einfacher: eine gängige methode, das cachen von bildern zu unterbinden ist es, einfach einen veränderlichen GET-parameter an die adresse des bildes anzuhängen, bspw. den aktuellen timestamp.
<img src="bild.jpg?12345678" ...>
damit ist der browser gezwungen, das bild jedesmal neu zu laden - weil es sich dabei um eine andere ressource handelt.
wäre das eine für dich praktikable möglichkeit?
Wenn bspw. eine Person seit einer Stunde quasi reglos verharrt, sollte man wohl mißtrauisch werden. ;-)
oder einen arzt rufen ...
gruß,
wahsaga
你好 wahsaga,
aber vielleicht geht es ja auch einfacher: eine gängige methode, das
cachen von bildern zu unterbinden ist es, einfach einen veränderlichen
GET-parameter an die adresse des bildes anzuhängen, bspw. den aktuellen
timestamp.
Ouch. Das ist eine bescheuerte Methode, die man nur unter extremen
Situationen ergreifen sollte. Die richtigen Caching-Header reichen völlig
aus:
ExpiresActive On
ExpiresByType image/jpeg now
ExpiresByType image/gif now
ExpiresByType image/png now
Deine Methode sorgt nur dafür, dass eventuelle Proxy-Caches und/oder
Browser-Caches überlaufen...
再见,
克里斯蒂安
hi,
Die richtigen Caching-Header reichen völlig aus
theoretisch - aber wir reden hier vom internet explorer, und dessen verhältnis zum thema "caching" ist ja nun mal ein "besonderes".
gruß,
wahsaga
你好 wahsaga,
Die richtigen Caching-Header reichen völlig aus
theoretisch - aber wir reden hier vom internet explorer, und dessen
verhältnis zum thema "caching" ist ja nun mal ein "besonderes".
Hehe, in diesem Fall funktioniert es aber relativ gut. Und zwingen kann man
einen Client eh nicht, nicht zu cachen.
再见,
克里斯蒂安
Moin!
Ouch. Das ist eine bescheuerte Methode, die man nur unter extremen
Situationen ergreifen sollte. Die richtigen Caching-Header reichen völlig
aus:
ExpiresActive On
ExpiresByType image/jpeg now
ExpiresByType image/gif now
ExpiresByType image/png now
Wir reden hier aber über integrierte Webserver in den Webcams. Ist da Apache installiert? Und wie kriegt man dessen Konfig-Datei verändert?
> Deine Methode sorgt nur dafür, dass eventuelle Proxy-Caches und/oder
> Browser-Caches überlaufen...
Die Schilderung der Situation deutete nicht auf internet-öffentliches Verbreiten der Webcam-Bilder hin.
- Sven Rautenberg
你好 Sven,
Wir reden hier aber über integrierte Webserver in den Webcams. Ist da
Apache installiert? Und wie kriegt man dessen Konfig-Datei verändert?
Ich hatte nicht gesagt, dass es in diesem Fall nicht sinnvoll ist. Ich sagte
nur, es sollte darauf geachtet werden, diese Methode nur in
Extrem-Situationen zu nutzen. Nicht, dass jemand im Archiv nach
Caching-Problemen sucht und dann völlig unnötigerweise so einen Hack
anwendet...
再见,
克里斯蒂安
hi,
Mein Problem ist folgendes: ...Diese Schnappschüsse zeige ich sodann im Browserfenster an. Dann ist mir jedoch aufgefallen, daß der IE gelegentlich "veraltete" Bilder anzeigt.
Gegenfrage,hast Du bei IE unter Extras/internetoptionen/Allgemein/Einstellungen/Bei jedem zugriff auf seite
aktiviert?
Dann sollte das gehen.
Frage also: Kann ich den Browsercache via Script leeren (und wenn ja, wie)?
Alternativ könnte man eine *.bat datei schreiben wo man die
C:\WINDOWS\Temporary Internet Files cache daten löscht.
Diese *.bat datei könnte so aussehen:
deltree /y C:\WINDOWS\Temporary Internet Files\*.*
Damit werden alle daten gelöscht in dessen ordner beim start von Windows,wenn man eine verknüpfung erstellt und diesen in den autostart ordner legt.
Gruss
Alain
Gegenfrage,hast Du bei IE unter Extras/internetoptionen/Allgemein/Einstellungen/Bei jedem zugriff auf seite
aktiviert?
Dann sollte das gehen.
Tja, manchmal verliert man echt den Blick fürs Offensichtliche! :-)
Das hat den gewünschten Effekt gebracht und da die Bilder nur ganz bestimmten PCs agerufen werden, reichts für meine Zwecke vollkommen.
Danke an alle und Gruß
Marcus