Avatar billede dotnetnissen Nybegynder
26. juni 2012 - 09:58 Der er 8 kommentarer og
1 løsning

SetTimeOut - ændret værdi men timer uændret

Følgende script henter min side igen. Her er den sat til at loade en gang i sekundet mens jeg tester, men den tager ikke højde for værdien. I stedet opdaterer den nogle gange i sekundet - også selvom jeg ændrer værdien til f.eks. 10000.

setTimeOut((this.document.location.href="index.php?id=<?php echo $id; ?>"),1000);

Jeg har prøvet forskellige ting mht ( ), ' ' og " ". Ovennævnte er det eneste, hvor den i det hele taget henter siden igen. Alle andre forsøg har betydet stilstand, ingen ny hentning. Ændring af timer ændrer intet for frekvensen.

Jeg har brug for at den henter siden igen efter ét minut men først må jeg lige få at se at jeg i test i det hele taget kan få funktionen til at tage højde for værdien.

Kan I se hvad der er galt?
Avatar billede claes57 Ekspert
26. juni 2012 - 10:39 #1
når du henter din side igen, så nulstilles javascriptet jo også - derfor virker det ikke på den tænkte måde.
Men du ville kunne loade en iframe (som kan fylde 100%).
Avatar billede claes57 Ekspert
26. juni 2012 - 10:41 #2
du kan bruge
<meta http-equiv="refresh" content="1">
i head.
Avatar billede dotnetnissen Nybegynder
26. juni 2012 - 10:51 #3
Tak claes57.
meta ser ud til at opdatere med angivet timer.
Hvis du vil have point må du lige komme med et svar. :)
Avatar billede claes57 Ekspert
26. juni 2012 - 11:15 #4
bare luk selv...
Avatar billede dotnetnissen Nybegynder
26. juni 2012 - 12:04 #5
ok
Avatar billede olebole Juniormester
26. juni 2012 - 14:07 #6
<ole>

Spørgsmålet hænger ikke sammen. Denne kode:

setTimeOut((this.document.location.href="index.php?id=<?php echo $id; ?>"),1000);

- har aldrig fungeret i nogen browser. Den kommer aldrig i nærheden af at reloade dokumentet, men vil i stedet smide en JavaScript fejl.

Selv hvis setTimeout havde virket, er syntaksen forkert. Der mangler f.eks. nogle gåseøjne - men man kan også bruge location objektets reload metode. Læg i denne forbindelse mærke til, at document.location ikke har været i brug i dette årtusinde. Det hedder window.location:

setTimeOut("window.location.reload(true)",1000);

Denne kode fungerer på fuldstændig samme måde som:

<meta http-equiv="refresh" content="1">

/mvh
</bole>
Avatar billede olebole Juniormester
26. juni 2012 - 14:10 #7
Der fik jeg skrevet noget vrøvl!  =)

"Selv hvis setTimeout havde været stavet korrekt, er syntaksen forkert" - skulle der stå  =)
Avatar billede dotnetnissen Nybegynder
26. juni 2012 - 14:52 #8
jeg kopierede koden direkte fra den kode jeg arbejder med og der virker det i Chrome. Har ikke testet i andre browsere, da siden jeg arbejder på ikke skal være offentligt tilgængelig.

At koden fungerer på samme måde som meta har claes57 allerede fortalt.
Avatar billede olebole Juniormester
26. juni 2012 - 15:05 #9
Nej, det passer ikke. Det virker ikke i nogen JavaScript fortolker på markedet - heller ikke Chrome's. JS er case sensitive, og setTimeOut virker ikke i nogen kendt browser. Det gør setTimeout derimod.

"At koden fungerer på samme måde som meta har claes57 allerede fortalt." >> Okay ... det må du så nok lige pege på, for den påstand tror jeg heller ikke, du finder opbakning til udenfor dig selv
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