Web: Datum und Zeit Countdown programmieren
Antipitch
- programmiertechnik
Moin allerseits,
ich mache mich gerade an die Programmierung eines Datum-und Zeit Countdown-Moduls für ein PHP/MySQL-basiertes CMS. Es werden grafische Zähler ausgegeben (barrierefrei mit Text-Fallback natürlich), die optional clientseitig weiter arbeiten sollen (optional inkl. Anzeige der Sekunden).
Das Ding muss nicht irgendwelchen Garantieansprüchen genügen, aber es soll natürlich möglichst gut werden. Mein bisheriger Plan ist, per Javascript die vom Server ausgelieferte Sekundenzahl aufzufangen und davon ausgehend weiter runter zu zählen. Die Zeit zwischen Erstellung des Wertes auf dem Server und Laden einer entsprechenden Seite im Browser geht mir dann natürlich "verloren", aber wenn ich bisher richtig denke, ließe sich das auch per Ajax-Abfrage nicht vermeiden (zumal eine letztere, sagen wir mal minütlich ausgeführt, sich auch mit einer evtl. Sekundenanzeige beißen würde).
Langer Rede kurzer Sinn: Jemand Ideen zu sowas oder Erfahrungen. Würde ich interessant finden...
cheers
Antipitch
Ich würde empfehlen, die Zeit direkt vom Client via JS-Date-Objekt zu nehmen, daraus den betreffenden Countdown berechnen (Nutze den Modulo-Operator!) und diesen per innerHTML in das entsprechende Element zu schreiben. Alternativ könntest Du schlimmstenfalls einen iframe nehmen, der sich jede Sekunde aktualisiert, wenn es auch ohne JS funktionieren soll (sehr eklige Lösung).
Gruß, LX
@@LX:
nuqneH
Ich würde empfehlen, die Zeit direkt vom Client via JS-Date-Objekt zu nehmen
Hm, wenn nun aber die Zeit des Servers relevant ist? Man weiß nicht, wie die Uhren der Nuzter ticken, in welcher Zeitzone …
Qapla'
Hi beide,
hatte ich eigentlich implizit ausgedrückt haben wollen, sorry: es soll sich auf jeden Fall um die Serverzeit handeln.
Errechnung etc. ist auch kein Problem, es geht mir halt um evtl. Ideen zum beschriebenen "Live beim Client Weiterzählen". Inzwischen denke ich, dass ich bei aktivierter Sekundenanzeige rein clientseitig (also nicht über Auslesen des kompletten JS time() Objekts, aber in Sekundentaktung) weiterzählen werde und anonsten minütlich eine Ajax-Anfrage senden werde.
thx
Antipitch
hi,
Langer Rede kurzer Sinn: Jemand Ideen zu sowas oder Erfahrungen. Würde ich interessant finden...
Nur mal son Gedanke: Wenn Du parallel zum Ajax-Request, der die Zeit vom Server holt, die Laufzeit mit ICMP ermittelst, könntest Du damit den Laufzeit-Fehler rauspolieren.
Hotte
Hi Hotte,
das
Nur mal son Gedanke: Wenn Du parallel zum Ajax-Request, der die Zeit vom Server holt, die Laufzeit mit ICMP ermittelst, könntest Du damit den Laufzeit-Fehler rauspolieren.
hört sich sehr interessant an, werd ich mal checken. Dank dir!
cheers
Antipitch