Lösung gesucht: Unerwünschter Sync bei animierten Gifs
Martin Köll
- browser
0 Martin Köll0 ChrisB0 Deus Figendi
Hi!
Folgendes Problem:
Ich habe GIF-Dateien erstellt, die KEIN Loop haben, eine Animation wird nur einmal durchgeführt und steht dann still.
Das ist soweit kein Problem. Schnell mittels <IMG> eingebunden, wird es einmal animiert und steht dann still.
Wird das selbe Bild nun erneut eingebunden, werden alle <IMG>-Tags, die auch dieses Bild als SRC haben, neu gestartet.
Es dürfte sich um eine grobe Browserschwäche handeln, da die Entwickler womöglich nicht damit gerechnet haben, dass Programmierer einmal animierte Gifs mit LOOP=1 einbinden ;-)
Nun ist die Frage, wie ist das Problem in den Griff zu bekommen.
Eventuell mit gezieltem Precaching, aber ich grübel schon seit Stunden.
nun, was meint ihr.
grüße, martin
HAB ES GELÖST!!!
Sollte irgendwer mal dieses Problem haben:
a) generiert mit PHP eine zufallszahl, oder benutzt einen row-Index, der das Bild eindeutig macht.
b) dann baut in der Quelle ein (hehe) URLGET-Array ein:
<IMG SRC="http://...../bild.gif?ID=23934">
und hier ist der Trick versteckt. Ob ihr einen URLGET mit dem ARRAY-Feld "ID" mitgebt oder ein anderes, ist nicht wichtig. Wichtig ist, dass der Dateinamen mit irgendwas einmalig gemacht wird, da der Firefox nur <IMG>-Tags mit EXAKT IDENTISCHEN SRC's synct. Weichen die voneinander ab, checkt er das nicht und meint es ist ne andere File. Und das ?ID=blablabla ist in dem Fall ohnehin völlig bedeutungslos.
:-)
Hi,
b) dann baut in der Quelle ein (hehe) URLGET-Array ein:
<IMG SRC="http://...../bild.gif?ID=23934">und hier ist der Trick versteckt. Ob ihr einen URLGET mit dem ARRAY-Feld "ID" mitgebt oder ein anderes, ist nicht wichtig.
Das ganze halbwegs korrekt zu benennen, schon eher.
Du sprichst von einem Query-String.
Wichtig ist, dass der Dateinamen mit irgendwas einmalig gemacht wird, da der Firefox nur <IMG>-Tags mit EXAKT IDENTISCHEN SRC's synct. Weichen die voneinander ab, checkt er das nicht und meint es ist ne andere File.
Es ist mit einem anderen Query-String eine vollkommen andere, unabhängige Ressource aus HTTP-Sicht, ja. Das ist der Part, der von dir gecheckt werden sollte :-)
Und das ?ID=blablabla ist in dem Fall ohnehin völlig bedeutungslos.
Ja, aber nur weil der Server den Query-String nicht auswertet (Normalfall bei statischen „Dateitypen“ wie bsp. Bildern).
MfG ChrisB
Deine Lösung ist imho passabel.
Aber ich habe dich schon richtig verstanden, dass du die Bilder dynamisch (clientseitig) einfügst oder? Sonst ist ja ganz normal, dass sie alle gleichzeitig laufen :)
Denn dann hätte ich einfach mal als alternative Lösung die zuende animierten Bilder durch statische zu ersetzen in dem Moment wenn man ein neues ablaufen lässt.