Moin!
Wie ich per JS die Clientzeit auslesen kann weiß ich zwar nicht, krieg ich aber wohl rel. schnell raus.
Du suchst das Javascript-Objekt "Date" http://selfhtml.teamone.de/javascript/objekte/date.htm.
Es bietet sich an, mit getTime() die Sekundenzahl zu ermitteln - einmal vom Client, und einmal vom Server. Der Server kann entweder die Sekunden selbst ermitteln, oder aber seine Zeit in Javascript-Code umsetzen, welcher ein eigenes Date-Objekt erstellt und daraus dann die Sekunden ermittelt.
Wie man dann die Differenz ermittelt, ist dir sicherlich klar.
Aber:
Wie soll des sekundenmäßige Abgleichen funtionieren ?
Oder gibt es bereits eine JS interne Funktion, die jedes Sekunde die Zeit ausgibt ?
Weil wenn nicht hab ich ja das gleiche Problem, das sich meine Funktion alle 1000ms selbst aufrufen soll und ich steh wieder am Anfang :)
Für die korrekte Zeitausgabe reicht es ja, wenn _ungefähr_ alle Sekunde die Funktion aufgerufen wird und dann die _genaue_ (weil durch den Computer und nicht durch dein Javascript weitergezählte) Zeit ausgibt.
Wenn das nicht _exakt_ jede Sekunde geschieht, ist das kein Problem. Wenn das Skript länger als eine Sekunde braucht, wird irgendwann einmal um zwei statt eine Sekunde weitergezählt - und außerdem ticken die Sekunden nicht 100% exakt im Sekundentakt hoch. Dürfte also herzlich egal sein. Und wenn das Skript weniger als eine Sekunde benötigt, dann wird irgendwann einmal _nicht_ eine Sekunde hochgezählt.
Summa summarum: Du kriegst eine wirklich 100% exakte Uhr ohnehin nicht dargestellt - aber wenn du die eingebaute Uhr des Computer benutzt, kriegst du wenigstens die richtige Zeit in unregelmäßigen Abständen ausgegeben.
Ach ja: Das Date-Objekt hilft dir natürlich auch, um die Sekundenzahl wieder in eine darstellbare Zeit zu wandeln. Siehe setTime() und das Beispiel dort.
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|