Avatar billede mikkel_breum Nybegynder
10. februar 2001 - 16:34 Der er 4 kommentarer og
1 løsning

animeret gif stopper i IE

hejsa ... ja mit spørgsmål ligger lidt op af et par af de andre nye... but here goes:

PROBLEM BESKRIVELSE:
jeg har et php script der skal arbejde lidt med data fra en form, og dette tager noget tid. I denne ventetid vil jeg vise en side der rummer en animeret gif.

for at hele den animerede gif skal nå at loade inden jeg redirecter, har jeg lavet et check (document.vent.complete), hvor vent er navnet på min animerede gif. dette fungere også, uden dette check vises kun første frame af giffen, derefter requester browseren næste side og giffen stopper.
Men problemet er at giffen også stopper selvom den er helt loaded. For at undersøge om det er sleve javascrip eksekveringen der stopper giffen, har jeg forsøgt at lave siden med et link med en

onClick=\"location.href=\'langso.php\'\"

På denne måde fortsætter giffen sin animation, selvom det næste document requestes via javascript.

Hvis jeg derimod lader et script requeste siden automatisk således:

<script  language=\'javascript\'>
location.href=\'lagsom.php\'
</script>

Ja, så stopper giffen altså!

Jeg har forsøgt således:

<script language=\"JavaScript\">
var i = 1
while (!document.vent.complete) {
i++    // vent til giffen er loaded
}
var n = 1
while (n < 200000) {
n++      // vent lidt endu for at få gang i giffen... (gør ingen forskel)
}

location.href=\"langsom.php\"</script>\"

</script>

(problemet opstår ikke i netscape, men det er så en af de eneste ting den gør bedre en IE, og jeg tester på Mac, så måske fungere dette i IE til Win?)

Kan en eller anden hjælpe her??

_ Mikkel
Avatar billede cautoo Nybegynder
10. februar 2001 - 16:41 #1
lav en iframe i et layer og lav så en onloadfunktion i iframewinduet som viser den layer med iframeen i!!!!
Avatar billede mikkel_breum Nybegynder
10. februar 2001 - 16:56 #2
hmmm .det lyder ikke som om det er so od en løsning for mig, for jeg skal lave siderne for en kunde, der kræver meget stor cross compatibilitet, og som alle vist ved er layers ikke lige noget for netscape... (don\'t mention that people might resize :)

.. men tak for idéen...

jeg vil gerne høre forslag der løser problemet i selve javascriptet.
Avatar billede jakoba Nybegynder
10. februar 2001 - 17:42 #3
Når du trykker submit er det liegesom når du trykker på et link. Den side submit-responsen er dirigeret til bliver lagt i location og browseren sætter sig til at vente på den. (Og gider ikke længere vedligeholde dynamikken i den \"forældede\" side med den animerede gif).
Har du mulighed for at sætte en anden target-ramme til submitten? så kan du (med stort besvær) hente sideindholdet fra den ramme og javascripte over i \'den rigtige\'.
Åbne et popopvindue med den der gif der dækker over det rigtige vindue og lukker igen når responsen er loaded?

jeg har ingen \"God\" løsning.
Avatar billede jumper Nybegynder
12. februar 2001 - 07:35 #4
Én ide kunne jo være at du først viser den animerede gif _efter_ du er begyndt at skifte side. Lidt ala:

<img width=\"100\" height=\"20\" name=\"ditBillede\">

<script language=\"Javascript\">

function videre(){
  loader = new Image();
  loader.onload = skift;
  loader.src = \"billede.gif\";
}
function skift(){
  location.href = \"langsom.php\";
  setTimeout(\"vis()\",100); // Vis om 100 millisekunder
}
function vis(){
  document.ditBillede.src = \"billede.gif\";
}

videre(); // Start det hele

</script>

Husk at angive width og height rigtigt, så skulle det gerne virke ;)

/Thor
Avatar billede mikkel_breum Nybegynder
13. februar 2001 - 16:19 #5
jeg har fundet en metode nu... jeg hopper videre via body onload=\"goOn($hvilken_langsom.php)\" på selve ventesiden. På denne måde animeres giffen lige indtil langsom.php returnerer sin side..

men jeg lærte nu alligevel så meget af at læse jumpers indlæg, så point til dig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester