Avatar billede dontron Nybegynder
04. april 1999 - 00:00 Der er 2 kommentarer og
1 løsning

Underligt setTimeout problem i NetScape

Ak ja, så er det igen NetScape der stjæler min tid :-))

Se om i ka følge mig her.

I siden indeholdende mit frameset har jeg en function.
-----------------------
<html>
<script language=javascript>
  var TimeoutID
  function myFunc() {
    clearTimeout(TimeoutID)
    TimeoutID = setTimeout('top.myFunc()',5000)
    Alert('hejsa')
    return;
  }
</script>
<frameset rows="100">
  <frame name="frmRoom" src="test.htm">
</frameset>
</html>


På siden test.htm starter jeg så min funktion.
---------------------
<html>
<script language=javascript>
  top.myFunc();
</script>
</html>


Og den første Alert('Hejsa') får jeg - men den får aldrig startet den Timeout
(det virker fint i både IE4 og IE5 - der får jeg alert hvert 5 sek)
Jeg har også prøvet at kalde en function i mit frameset script der starter en timer på en alert function og jeg har prøvet....... ALT! Jeg kan ikke komme i tanke om noget jeg ikke har prøvet :-))

Så hjælp vil være blive meget glad for (ellers må jeg droppe rutinerne til Netscape, og det ville være ærgeligt)

- Torben (DonTron)
Avatar billede jumper Nybegynder
04. april 1999 - 17:22 #1
Flyt TimeoutID = setTimeout('top.myFunc()',5000) ned i test.htm, istedet for top.myfunc();
Fjern desuden clearTimeout(TimeoutID) samt TimeoutID = setTimeout('top.myFunc()',5000) fra siden med dit frameset.

Dermed kaldes funktionen top.myFunc() hvert femte sekund. Så skulle det gerne virke.

Dit problem var nok at du fjerner dit timeout i den samme funktion der starter dit timeout.

Lad være med at stole på IE, den har for høj en fejltolerance :)

/Thor
Avatar billede dontron Nybegynder
08. april 1999 - 02:23 #2
Tark Thor :-)
Den virker fint - man ska bare være lidt forsigtig med NetScape, så går det da sårn da.
Fandt iøvrigt en grimmer grimmer een
document.open
document.write
document.close
udfør dette 1000 gange (f.eks. på en chat kanal) og se netscape spise pænt af hukommelsen (efter 24 timer brugte min NC 4.52 hele 180MB i NT.) - det kaldes da vist en leak ;-)
Avatar billede jumper Nybegynder
08. april 1999 - 09:50 #3
Var det kun de 3 linjer du kørte i en loop? De plejer ellers at virke fint, da document.close sletter det nuværende indhold og skriver det nye fra document.write

Hvad testede du det i?

Hehe, jeg kender en anden én:
setInterval("document.reload()",1)

Kør det en enkelt gang, så skulle siden gerne blive reloadet med et milisekunds mellemrum :))

Ellers kan du bare køre setInterval("alert('Du stinker!')",1)
Så popper der konstant en alert-box op, og spærrer for alt andet.
Prøv også
for (i=0 ; i>0 ; i++){ }

Hehe, der er mange ;)

/Thor
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