Bild bei jedem Seitenaufruf neu laden

relaht

Aktives Mitglied
Thread Starter
Dabei seit
02.11.2003
Beiträge
319
Reaktionspunkte
10
Ich habe auf meiner Seite ein animiertes GIF, dass nicht im loop läuft sondern nur einmal.
Ich möchte nun, dass bei jedem Seitenaufruf dieses GIF neu gestartet wird.

Kann mir jemand helfen?
 
probiers mal mit den beidem metas im header:
HTML:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
 
Ich habe deinen html-code kopiert und direkt unter <head> gesetzt aber leider blieb das ohne Wirkung.
Das GIF wird nur neu abgespielt wenn ich "Reload" im Browser klicke.
 
hast du deinen cache vorher geleert?
 
wenn du dich mit php auskennst, kannst du ein skript schreiben, dass du
anstelle der grafikdatei in die seite einbettest. dieses skript kann man so
"einstellen", dass es mit hoher wahrscheinlichkeit die datei jedes mal neu
vom server lädt.

hier mehr dazu: http://de3.php.net/header
dort nach "Content-Disposition" suchen und den abschnitt lesen.
das dann kombinieren mit "no-cache" anweisungen.
das ist zuverlässiger, als der eintrag im <head>

frag, wenn was nicht klar ist.
 
häng an die adresse des bildes ein ?zufallsnummer dran. dann wird es als neues bild behandelt und neu geladen. die zufallsnummer kannst du mit javascript einfach erstellen.
 
Hab ich mich auch schon gefragt...
 
wahrscheinlich hat er das gif irgendwo in ein Frame gepackt und muss ebeen das komplette Frameset so neu laden...

Ansonsten hätte ich jetzt auch ein Problem, das problem zu verstehen...
 
max@hismac schrieb:
ist nicht genau das ein "neuer seitenaufruf"?
Wenn ich innerhalb meiner Website die Seiten wechsele wird das GIF nicht abgespielt mit "Reload" im Browser aber schon.


Duselette schrieb:
wahrscheinlich hat er das gif irgendwo in ein Frame gepackt und muss ebeen das komplette Frameset so neu laden...
genau gesagt bastel ich die Seite mit RapidWeaver.


catvarlog schrieb:
wenn du dich mit php auskennst...
um ehrlich zu sein, eher nicht so :(
Ich glaube das ist zu kompliziert für mich.


xlqr schrieb:
hast du deinen cache vorher geleert?
Ja, habe ich gemacht aber ich denke dass dein code den cache übergehen soll?


max@hismac schrieb:
häng an die adresse des bildes ein ?zufallsnummer dran
Kannst du mir erklären was du genau meinst?
 
Rapidweaver arbeitet eigentlich nicht mehr mit Framesets, sondern produziert relativ guten Code.

Das Problem liegt mit aller wahrscheinlichkeit darin, dass das Gif im Browser gecached ist und somit nur bei einem erzwungenen Reload neu geladen wird. Deswegen aber gleich den ganzen Cache für die Seite zu deaktivieren (wie oben vorgeschlagen) halte ich für Unfug und Verschwendung von Bandbreite bzw. eine Benachteiligung der "langsamen" besucher mit ISDN / Modem.
 
relaht schrieb:
Ich habe auf meiner Seite ein animiertes GIF, dass nicht im loop läuft sondern nur einmal.
Ich möchte nun, dass bei jedem Seitenaufruf dieses GIF neu gestartet wird.

Kann mir jemand helfen?


Hier eine etwas härtere Variante:

<meta http-equiv="cache-control" content="no-cache, must-revalidate" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="-1" />

Ansonsten mal deine Browser-Cache-Einstellungen überprüfen.
 
Duselette schrieb:
Das Problem liegt mit aller wahrscheinlichkeit darin, dass das Gif im Browser gecached ist und somit nur bei einem erzwungenen Reload neu geladen wird.....
Das wäre gar nicht so schlimm, weil dieses GIF das einzige Bild auf dieser Seite ist.

Ich habe diesen code mal eingebaut:
<meta http-equiv="cache-control" content="no-cache, must-revalidate" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="-1" />

aber es klappt trotzdem nicht :(

Jemand 'ne Idee?
 
Blöde Frage: manche Browser kann man so einstellen, dass sie Animationen nur einmal abspielen - vielleicht hast du eben so eine Option aktiviert.

Weiterhin würde ich - falls noch nicht gemacht - die Seite auch auf anderen System / Browsern testen, ob dieser "Fehler" auch dort auftritt.
 
catvarlog schrieb:
du hast schon zwei gute ideen bekommen.

hier noch ein ansatz:

Q416 How can I force a reload of an image from the server if the image already exists in the browser's cache?
http://www.irt.org/script/416.htm

diese funktion könnte man anpassen
Danke für den Link. So wie ich es verstanden habe bewirkt dieser Code, dass ein Bild nach einer bestimmten Zeit immer wieder neu geladen wird.
Ich möchte aber, das Bild nur einmal, beim Aufruf der Seite, neu laden.

Wie könnte man den Code dafür ändern?
 
relaht schrieb:
Danke für den Link. So wie ich es verstanden habe bewirkt dieser Code, dass ein Bild nach einer bestimmten Zeit immer wieder neu geladen wird.
Ich möchte aber, das Bild nur einmal, beim Aufruf der Seite, neu laden.

Wie könnte man den Code dafür ändern?

lösche aus dem script die folgende zeile, welche 2x vorkommt

setTimeout('reloadImage()',10000);

setze dafür in den body-tag des dokuments diesen aufruf. ergebnis ist dann:

body onload='reloadImage()'

das ist tendenziell gefrickelt, sollte aber funktionieren. das bild wird nach dem laden der seite erneut geladen.

besser wäre es, wenn du mit den suchwörtern - How can I force a reload of an image from the server if the image already exists in the browser's cache - mal selber googlest und etwas findest, was genau passt.
 
vielleicht gibst du mal einen link auf die seite, wenn wenn das bild das einzige auf der seite ist, klingt es ja doch nach frames.
 
Zurück
Oben Unten