Toon posts:

[javascript] settimeout-scriptje telt te snel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik het volgende scriptje om een pagina zichzelf iedere 10 seconden te laten refreshen, maar dit duurt geen 10 seconden maar slechts (bij benadering) 9,8 sec. Het telt dus te snel.

Weet iemand hier een oplossing voor, of een andere manier om de client te laten verversen die betrouwbaar werkt?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<script type="text/javascript">
<!--
    var liSecs;
    var loTimerID = null;
    
    function InitializeTimer()
    {
        // Set refresh time and start timer
        liSecs = 10;
        StartTimer();
    }
    
    function StartTimer()
    {
        if (liSecs==0)
        {
            window.location.reload(true);
        }
        else
        {
            liSecs = liSecs - 1;
            loTimerID = self.setTimeout("StartTimer()", 1000);
        }
    }
-->
</script>
</head>
<body onload="InitializeTimer()">
Content
</body>
</html>

[ Voor 10% gewijzigd door Verwijderd op 21-06-2005 11:25 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 04-05 14:55

Janoz

Moderator Devschuur®

!litemod

Waarom zo'n uitgebreid script terwijl:
code:
1
setTimeout("window.location.reload(true)",10000);

ook genoeg was geweest?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Neemt google
typed in refresh
klikt op de derde link

krijgt een hoop banners + http://webdesign.about.com/cs/metatags/a/aa080300a.htm

Verwijderd

Topicstarter
Ik wil een tellertje in de statusbar mee laten lopen, heb ik er voor de duidelijkheid even uitgelaten. Daarom lijkt het scriptje wat omslachtig.
Echter, als ik alleen
code:
1
setTimeout("window.location.reload(true)",10000);

gebruik telt hij ook te snel.

Die Metatag 'refresh' werkt niet altijd, dus die wil ik ook niet gebruiken.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Je browser proces heeft geen realtime priority (mag ik hopen), setTimeout zal dus nooit helemaal realtime zijn. Als je pc druk bezig is met allerlei andere zaken, dan 'wacht' je browser daarop en zal je tellertje bijvoorbeeld ook langzamer kunnen lopen.

Today's subliminal thought is:


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Annie schreef op dinsdag 21 juni 2005 @ 11:57:
Je browser proces heeft geen realtime priority (mag ik hopen), setTimeout zal dus nooit helemaal realtime zijn. Als je pc druk bezig is met allerlei andere zaken, dan 'wacht' je browser daarop en zal je tellertje bijvoorbeeld ook langzamer kunnen lopen.
Dat heb ik tot nu toe altijd ervaren. Enige is dat TS beweert dat het te snel gaat :+

Vraag me af waarom die 200 miliseconde zo stringent is voor TS :)



Benchmarkje levert bij mij IE steevast 7 miliseconde later en FF 2 miliseconde vroeger. En dat is met geen andere applicaties open :)

[ Voor 14% gewijzigd door BtM909 op 21-06-2005 12:16 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Hoe heb je dat verschil eigenlijk gemeten?

Huur mij in als freelance SEO consultant!


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

CrashOne schreef op dinsdag 21 juni 2005 @ 12:17:
Hoe heb je dat verschil eigenlijk gemeten?
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
<title>Check</title>
<script type="text/javascript">
function BtM909(){
  document.getElementById('got').value = new Date().getTime() + '\n';
  setTimeout(doe, 5000);
}

function doe(){
  document.getElementById('got').value += new Date().getTime() + '\n\n';
  
}
</script>
</head>

<body>
<textarea id="got" rows="10" cols="50"></textarea>
<input type="button" value="Begin!" onclick="BtM909()">
</body>
</html>

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Ik kom zo iig nooit op een verschil van meer dan 10 ms. Grootste verschillen in Opera 8, kleinste in Firefox, IE ertussenin.
Java:
1
2
var d1 = new Date().valueOf();
setTimeout('alert(new Date().valueOf() - d1)',1000);

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op dinsdag 21 juni 2005 @ 13:46:
Ik kom zo iig nooit op een verschil van meer dan 10 ms. Grootste verschillen in Opera 8, kleinste in Firefox, IE ertussenin.
Java:
1
2
var d1 = new Date().valueOf();
setTimeout('alert(new Date().valueOf() - d1)',1000);
Ik zit met jou functie op 10 IE en 20 in FF :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1