Diskussion
JavaScript Counter soll Serverzeit verwenden
Wie mach ich das?
| webdoktor G-Design Websolutions |
Geschrieben am: Mo 16.03.2009, 15:59
|
||
![]() AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 677 Mitglied seit: 16.12.2005 |
Hallo zusammen Ich habe folgendes JavaScript welches mir einen Counter setzt bis um Mitternacht. Da JavaScript ja Browserbasierend ist, ist es mir klar, dass wenn ich meine Systemzeit ändere, dass es dann den Counter auch ändert. Wie mach ich aber, dass es bei einem Refresh wieder die Serverzeit nimmt als Richtzeit. Ich habe schon diverse Anpassungen versucht, leider ohne Erfolg. Hier der Code:
Ich freue mich über jeden Tipp von Euch! Gruss Marco |
||
![]() |
|
#2 Geschrieben am: Mo 16.03.2009, 16:41 (+00:41)
|
|||
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 99 Mitglied seit: 24.09.2006 |
sollte funktionieren.. gruß Karsten |
||
![]() |
| Kilian Waser |
#3 Geschrieben am: Mo 16.03.2009, 20:22 (+03:41)
|
||||||||
![]() AyomRank 6 Gruppe: Moderatoren Beiträge: 597 Mitglied seit: 6.02.2004 |
@KarstenS: Prinzipiell hast du schon recht, jedoch hast da was übersehen. Nach seinem Script wird jede Sekunde die Funktion "Clock" neu aufgerufen und somit die Variable "Zeit" neu eingelesen. Und damit bleibt der Count stehen. @webdoctor: Server-Datum plus -Zeit via PHP einer JS Date-Function mitgeben, funkt wie folgt:
Ergibt für den Client folgendes: ...var ServerDate = new Date("Mar 16, 2008 18:35:23"); ... Jedoch hast du dann wie bereits erwähnt bei deinem Script das Problem, dass die Uhr jede Sekunde wieder auf diesen vom Server errechneten Wert zurück kehrt. Dieses Problem löst man wie folgt: Die Variable "Zeit ist ausserhalb der Funktion zu definiert. Zuglich wird ausserhalb der Funktion auch noch eine weitere Variable "ServSec" deklariert und mit dem Sekunden-Wert von "Zeit" indiziert.
Die erste Zeile in der Clock-Function "var Zeit = ..." ist zu entfernen. In der Clock-Function ist die Variable "ServSec" zu inkrementieren und der neue Wert des Objektes "Zeit" hinzu zufügen. Dies gleich bevor mittels setTimeout(..); die Funktion erneut aufgerufen wird.
("ServSec" ist bei grösser als 60 auf 1 zurück zu stufen, da ansonsten bei einem Minutenwechsel die Minuten als Sekunden zählen.) Das ganze sieht dann wie folgt aus: (Muss jetzt natürlich als eine PHP-Datei gespeichert werden)
Da die Serverzeit nur bei einem Reload aktualisiert wird, schlage ich dir vor ein Page-Refresh auf etwa alle 10 bis 20 Minuten zu setzen. Denn der Counter ist vorallem bei langsamen Rechnern mit dieser Methode schnell ungenau. Hilft das soweit? -------------------- Projektübersicht : Geekweb.org
|
||||||||
![]() |
| webdoktor G-Design Websolutions |
#4 Geschrieben am: Mo 16.03.2009, 21:15 (+00:52)
|
![]() AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 677 Mitglied seit: 16.12.2005 |
Hallo Kilian
Ich habe über zwei Stunden versucht genau das Ergebnis zu programmieren. Wow, dank Deiner Hilfe hat es jetzt geklappt. Ich möchte Dir von herzen Danken für Deine Bemühungen und Deine super ausführlichen Beschreibung. Solche Hilfe ist für mich überhaupt nicht selbstverständlich und ich bin Dir wirklich dankbar! Vielen Dank! Ich merke, Du bist ein kleiner JavaScript Profil. Weil ich hatte genau das Problem, dass ich zwar die Zeit von dem Server hatte aber der Countdown stehengeblieben ist. Jupii jetzt aber ist alles genau so wie ich es mir wünschte. Gruss Marco |
![]() |
| webdoktor G-Design Websolutions |
#5 Geschrieben am: Mo 16.03.2009, 22:23 (+01:08)
|
![]() AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 677 Mitglied seit: 16.12.2005 |
Hallo Kilian
Gerade habe ich bemerkt, dass der Counter im FireFox nicht funktioniert :-( Hast Du eine Idee an was es liegen könnte? LG Marco |
![]() |
| Kilian Waser |
#6 Geschrieben am: Mo 16.03.2009, 23:37 (+01:13)
|
![]() AyomRank 6 Gruppe: Moderatoren Beiträge: 597 Mitglied seit: 6.02.2004 |
Lass das Script genau so wie hier gepostet als eine Datei laufen, dann siehst du, dass es auch im Firefox läuft.
Auf deiner Seite bindest du ja noch drei weitere JS-Files ein. Überprüfe ob nicht allenfalls Variablen- , Funktions-Namen etc. bereits von anderen Scripts verwendet werden. Allenfalls wird eine oder mehrere JS-Aktionen (der anderen Scripts) von einigen Browser nicht tolleriert und führen zum Abbruch der JS Durchführung. Gehe Schritt für Schritt durch deine Scripts und setze Haltepunkte mittels alert();. Mit der Haltepunkt-Variante und den Richtigen Ausgaben durch alerts solltest du die Fehler schnell finden. PS: Ich würde sowieso darauf achten, dass du dich möglichst den W3C-Standards entlang bewegst. Denn der Counter auf deiner Seite wird sowohl vom Iceweasel als auch dem Epiphany nicht ausgeführt. Funktioniert es denn im IE (kann das nur sehr schlecht testen)? -------------------- Projektübersicht : Geekweb.org
|
![]() |
| Kilian Waser |
#7 Geschrieben am: Mo 16.03.2009, 23:51 (+00:14)
|
||||
![]() AyomRank 6 Gruppe: Moderatoren Beiträge: 597 Mitglied seit: 6.02.2004 |
Ach ne. Ist mir gerade aufgefallen. Du lädst das Script im HTML-Body. Somit wird beim Onload eine Funktion aufgerufen, die noch gar nicht existiert. Verschiebe das Script in den HTML-Head. Sollte es dann trotzdem noch nicht funktionieren, benutze das Vorgehen des vorherigen Posts. Du kannst das Script auch in eine separate PHP Datei legen und dann wie folgt einbinden.
Beachte dann, dass das PHP-File noch vor der ersten Ausgabe den Header auf den FileTyp JS setzt:
-------------------- Projektübersicht : Geekweb.org
|
||||
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/28748
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| IpCounter Alternative -> Counter-City.de | SZiebeck | 73 | 0 | Do 18.03.2010, 12:41 |
| Diskussion: Counterservice - Gute Counter? | Ayom-Team | 2669 | 22 | Do 18.03.2010, 12:04 |
| Text soll scrollbar sein aber ohne scrollbar... ;) | Klegs | 92 | 3 | Fr 12.03.2010, 11:29 |
| FadeIn / FadeOut JavaScript | steffi | 184 | 2 | Di 2.02.2010, 17:44 |
| [s] javascript und wp profi?! | Basti24 | 136 | 0 | Mi 11.11.2009, 20:05 |
| Hilfe zu HTML und Javascript weiterleiten | jano20 | 204 | 1 | Di 3.11.2009, 15:43 |
| Problem mit Download-Counter | Rubu | 122 | 2 | Mo 26.10.2009, 10:28 |
| Kleiner Programmierauftrag PHP/JavaScript zu verge | kfz-wert.info | 380 | 1 | Mo 31.08.2009, 19:15 |
Anzeige - [Hier werben / Mediadaten]















