PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FlashVars: Flash läuft im IE6/7 einmal durch, bevor Variable appliziert wird


MadManniMan
2007-09-27, 16:35:11
Ein neuer Manni-Tag, ein neues Flash-Problem... ;) Ich hoffe, ihr habt noch Geduld!

Also: in Typo3 binde ich über das Plugin "swfobject" mein Flash ein. Als FlashVar gebe ich ihm mit, daß die Variable "pic" einen Bezeichner für das Bild mitbekommt, welcher dem Flash sagt, zu welchem Bild es direkt springen soll.
Im ersten Bild ist deswegen der Befehl "gotoAndStop (pic)" vermerkt.

Das funktioniert soweit ganz gut (siehe Anhänge, ".txt" wegnehmen), aber der Internet Explorer läßt den Film zuerst einmal komplett durchlaufen - und appliziert die Variable erst dann! In allen anderen Brwosern gehts - nur nicht hier... ich bin am Verzweifeln!

Wenn ich vor "gotoAndStop ..." ein "stop ()" setze, dann gehts in allen anderen Browsern genauso gut, nur der Internet Explorer verarbeitet die Variable dann gar nicht mehr.


Habt ihr irgend ne Idee? ;(


PS: natürlich ists in der Praxis auf der betreffenden Homepage anders angebunden, aber das Problem bleibt auch in der Variante über die angehängten Dateien gleich.

astrocreep
2007-10-01, 09:43:08
okok, ich war mal so frei und hab mir das flash file genauer angeschaut. und da liegt das problem begraben. du schreibst eiskalt in den ersten frame "gotoAndStop(pic)" rein. du hast keinerlei preloader drinnen oder ähnliches. das führt zu folgendem problem:

flash lädt nicht erst den kompletten film, sondern zeigt sofort das an, was er geladen hat. sprich er lädt den ersten frame und findet darin den gotoAndStop befehl. diesen versucht er auszuführen, aber nachdem der film noch nicht komplett geladen ist, findet er die sprungmarke nicht. das betrifft im offline modus übrigens nur das ie plugin! firefox ist, wie du das richtig bemerkt hast davon nicht betroffen.

die lösung ist, quasi den film so lange anzuhalten und zu warten, bis alles geladen ist und dann erst an den zielframe zu springen.

ersetzte mal dein gotoAndStop(pic) durch das hier:


stop();
this.onEnterFrame = function() {
if (this.getBytesLoaded() == this.getBytesTotal()) {
delete this.onEnterFrame;
gotoAndStop(pic);
}
}


dann klappts auch mit dem ie ;)

gruß, astrocreep