anoniem Geplaatst: 4 april 2002 Delen Geplaatst: 4 april 2002 Ik zit met een probleemke. Het is de bedoeling dat op een asp-pagina de tijd van de webserver wordt getoond. Dit lukt, maar de tijd wordt weergegeven van het moment dat je de pagina bekijkt. Maar het is de bedoeling dat de klok door blijft lopen, zodat de actuele tijd van de server getoond wordt. Hoe los ik dit op? Alvast Bedankt Quote Link naar reactie
anoniem Geplaatst: 4 april 2002 Auteur Delen Geplaatst: 4 april 2002 ASP pagina's worden als copie van de server gehaald. Het is dus een momentopname. De tijd op de klok die van de server afgehaald wordt is dus ook een momentopname. Wat jij moet doen is een clientside klokje op je pagina tonen. Quote Link naar reactie
anoniem Geplaatst: 4 april 2002 Auteur Delen Geplaatst: 4 april 2002 Ik weet dat het zo gaat, maar het is juist de bedoeling dat de tijd van de server wordt getoond. Quote Link naar reactie
anoniem Geplaatst: 4 april 2002 Auteur Delen Geplaatst: 4 april 2002 't is allemaal ook zo moeilijk. [code:1:c1bb47fb3d] <% @Language="JScript" %> <html> <head> <title>Server time</title> <script language="JavaScript"> var serverTime = <%= new Date().getTime() %>; function clock() { var now = new Date(serverTime += 1000); var hours = now.getHours(); var minutes = now.getMinutes(); var seconds = now.getSeconds(); document.forms.clock.display.value = hours + ((minutes < 10) ? ":0" : ":") + minutes + ((seconds < 10) ? ":0" : ":") + seconds; setTimeout("clock()", 1000); } </script> </head> <body onLoad="clock();"> <form name="clock"><input type="text" name="display"></form> </body> [/code:1:c1bb47fb3d] Quote Link naar reactie
anoniem Geplaatst: 4 april 2002 Auteur Delen Geplaatst: 4 april 2002 Het idee is leuk, maar natuurlijk niet optimaal. Je zet de aanroep van de clock functie in een onload, dus bij een traag ladende pagina (of trage verbinding) krijg je al een groot verschil. Verder ga je ervan uit dat een setTimeout van 1000 msec ook precies 1000 msec is (en dat is dus niet altijd waar!!) aangezien je dit getal bij de tijd optelt. Nu zal dat waarschijnlijk niet echt schokkende verschillen veroorzaken, maar beter lijkt mij om tijdens het parsen van de pagina de offset van de client-tijd en de server-tijd te bepalen en vast te leggen in een var. Bij het updaten van de clock kan je dan gewoon de tijd van de client pakken en daar de offset bij optellen. Quote Link naar reactie
anoniem Geplaatst: 4 april 2002 Auteur Delen Geplaatst: 4 april 2002 je hebt helemaal gelijk, ik had er niet eens bij stilgestaan. de bedoeling van m'n vorige post was echter het aantonen hoe (simpel) je met waarden die je op/van de server verkregen hebt verder kunt werken en niet het tot een optimale oplossing (= lap voorgebakken code) komen, dat is dennis z'n taak. Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 [quote:2220365106] [b:2220365106]Op 05-04-2002 1:48 schreef cim:[/b:2220365106] ... en niet het tot een optimale oplossing (= lap voorgebakken code) komen, ... [/quote:2220365106]Ik zie toch echt een lap voorgebakken code :razz: [no offence mode] Ik ken het kennisniveau van Dennis niet, maar ik denk dat een groot deel van de bezoekers van dit forum bovenstaande code niet helemaal op waarde kunnen inschatten. Dus dan had je beter een veel simpeler voorbeeld kunnen kiezen om de werking aan te tonen (of pseudo code), imho. [/no offence mode] Maar verder is de strekking van je verhaal duidelijk en ben ik het ook met je eens. Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 ok, lap optimaal, efficient, foutloos voorgebakken code :wink: en nu ik d'r over nadenk kom ik tot de conclusie dat een systeemklok ook niet met veel grotere regelmaat geupdate zal worden dan herhaaldelijke calls a.d.h.v timeout. De twee klokjes zullen hooguit wat "scheef" gaan lopen waarbij het script-klokje de, op dat ene moment verkregen, tijd misschien nog wel beter zal bijbenen (wishfull thinking). Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 Alvast bedankt voor de reacties. Ik wil niet ondankbaar klinken, maar ik heb eigenlijk een Vbscript nodig, en mijn kennis hiervan is nogal beperkt Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 [quote:07cd102056] Op 05-04-2002 9:40 schreef dennis_tielen: Alvast bedankt voor de reacties. Ik wil niet ondankbaar klinken, maar ik heb eigenlijk een Vbscript nodig, en mijn kennis hiervan is nogal beperkt [/quote:07cd102056] de mijne ook. maar vind je javascript voor clientside scripting niet een betere keuze? als je dan het script uit m'n eerdere post gebruikt + de door annie aangegeven verbeteringen doorvoert heb je waar je om vroeg. Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 [quote:0ac730e89e] Op 05-04-2002 9:40 schreef dennis_tielen: Alvast bedankt voor de reacties. Ik wil niet ondankbaar klinken, maar ik heb eigenlijk een Vbscript nodig, en mijn kennis hiervan is nogal beperkt [/quote:0ac730e89e]Ik wil niet al te flauw klinken, maar dan ga je toch zorgen dat je die kennis wel krijgt? Zo veel is er niet om uit te zoeken namelijk (zeker niet met de al aanwezige aanwijzigingen in deze post), imho. Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 Ha!!! Dat klokje van je komt recht uit een boek en als voorbeeld worden minuten en seconden onder de 10 als een 0 weergegeven. Dit is de oplossing: dit in head plaatsen <head> <script language=JavaScript> var Teller = null function toontijd() { var nu = new Date() var uren = nu.getHours() var minuten = nu.getMinutes() var seconden = nu.getSeconds() var tijdWaarde = "" + ((uren >24) ? uren -24 :uren) tijdWaarde += ((minuten < 10) ? ":0" + minuten : ":" + minuten) tijdWaarde += ((seconden < 10) ? ":0" + seconden : ":" + seconden) document.klok.klokbalk.value = tijdWaarde Teller = setTimeout("toontijd()",1000) } </script> </head> in body: <form name="klok"><input type=text name="klokbalk" size=10 value=""> </form> [ Dit bericht is bewerkt door: sdk op 2002-04-05 20:04 ] Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 bedankt voor je bijdrage, maar dat was niet helemaal de vraag :razz: Quote Link naar reactie
anoniem Geplaatst: 5 april 2002 Auteur Delen Geplaatst: 5 april 2002 [quote:b4ba59a604] Op 05-04-2002 20:02 schreef sdk: Ha!!! Dat klokje van je komt recht uit een boek en als voorbeeld worden minuten en seconden onder de 10 als een 0 weergegeven. etc.. [/quote:b4ba59a604] ja, alléén bezit ik niet één boek over javascript :smile: het Date object uit javascript is een regelrechte kloon van een (standaard) klasse uit de taal java vandaar misschien dat mijn code gelijkenis vertoont met de jouwe... hoewel je in java echter een instantie van klasse DateFormat kunt gebruiken om een betekenisvolle representatie van een Date te verkrijgen. [ Dit bericht is bewerkt door: cim op 2002-04-05 21:13 ] Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 Allemaal erg leuk maar ik bedoel dat het script niet klopt. Las de tijd bijvoorbeeld 10:10:09 is dan zou er op jou klokje 10:00:00 staan en op mijn kloklje 10:10:10 snap je? Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 hoe kom je daar nu bij (????) Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 Omdat dit bij mij het geval was met dat script :smile: Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 dan heb jij een wel hééél speciale browser! heb je de code misschien gecopy-paste naar een bestand en deze via het fysieke pad aangeroepen? vervang dan het gedeelte <%= new Date().getTime() %> eens met new Date().getTime() dus weg met die "<%"-haakjes. want er zit voorzover ik het kan overzien geen logische fout in het desbetreffende gedeelte van de script. sterker nog jij gebruikt precies hetzelfde trucje om geformatteerde uitvoer te produceren. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen