Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Serverzeit mit Javascript

Frage Entwicklung JavaScript

Mitglied: felixcc

felixcc (Level 1) - Jetzt verbinden

03.03.2011, aktualisiert 15:56 Uhr, 6996 Aufrufe, 7 Kommentare

Hallo ihr Lieben,

ich habe mal wieder ein Problem.
Ich möchte mit Javascript auf einer Seite die aktuelle Serveruhrzeit sekundengenau darstellen (und für weitere Abläufe verwenden).

Da Javascript Client-Seitig läuft liefert ein "new Date()" leider nur die Client Daten wie Datum und Uhrzeit.

Nun habe ich einen Ansatz gefunden, der mit einem php-Statement die aktuelle Serverzeit auslist und dann manuel die Zeit weiterzählen lässt.
Funktioniert, aber von genauer Uhrzeit kann man nicht reden, da ein sleep-Timer verwendet wird, der mir schon nach 2 Minuten um 5 Sekunden falsch geht.

Aber man kann ja die Serverzeit mit php auslesen, mit der Client-zeit vergleichen und dann immer von der Clientzeit die Differenz abziehen.
Läuft auch soweit, aber nur unter Linux mit Firefox, unter Windows bekomme ich schon beim Konvertieren des Datumsstrings als Ausgabe "NaN".
Ich habe viele Verschiedene Formatierungen der Ausgabe von date unter php durchprobiert, aber nur bei "Y,m,d,G:i:s" funktioniert auch eine Umwandlung.
Anbei mal die wichtigen Passagen:

im HTML:
.....
<body onload='setDifference(" <?php echo date("Y,m,d,G:i:s"); ?>")'>
....
<span id="Zeitbereich"></span>
...

in der Javascript-Datei:

var diff = 0; Globale Variable Diff wird mit setDifference auf Abweichung server-clientZeit gesetzt
var uhr = new Date();
Globale Variable Uhr
function setDifference(servertimeString)
{
alert(uhr); <---- Zeigt im IE und FF die aktuellen Client-Daten
servertime = new Date(servertimeString)
alert(servertime);
<--------Im FF stehen die Serverdaten im IE "NaN"
diff = Number(servertime)-Number(uhr);
alert(diff); //<------ FF: "-243" IE:"NaN"#
showTime();
}

function showTime()
{
.....
document.getElementById("Zeitbereich").innerHTML= uhr;
t = settimeout('showTime()',500);
}



Könnt ihr mir sagen woran es liegt, dass es im FF klappt und im IE nicht?
Gibt es vielleich bessere Varianten soetwas zu realisieren?
Mitglied: redder
03.03.2011 um 14:54 Uhr
Hi,
ich habe gerade ein kleines Problem mit deinem Quellcode

Am Anfang führst du die Funktion "uhrzeit()" aus und übergibst die Serveruhrzeit mit PHP.
Wo genau ist die Funktion "uhrzeit()" definiert?

Ansonsten fallen mir als erstes die IE Sicherheitseinstellungen ein. Ist Javascript aktiviert etc.?

Hier auch noch ein Link wo ziemlich genau das gemacht wird was du haben willst:
http://www.webmaster-resource.de/uhrzeit-des-webservers-mit-javascript- ...
Bitte warten ..
Mitglied: felixcc
03.03.2011 um 15:00 Uhr
hallo,
das mit der uhrzeit() war ein Kopierfehler
habes geändert in showTime(), dann kann man es auch nachvollziehen

Die restlichen Javascript-Befehle werden ohne Probleme ausgeführt, also liegt es nicht am IE.

Den Link hatte ich auch schon gefunden, da gefällt mir allerdings nicht, dass das mit einem Timer realisiert wurde.
Das führt realtiv schnell zu rapiden Abweichungen.

Gruß
Felix
Bitte warten ..
Mitglied: redder
03.03.2011 um 15:39 Uhr
Hi,
so richtig schlau werde ich aus deinem Code immer noch nicht^^

uhrzeit() steht immer noch im onLoad
Wann genau wird setDifference(servertimeString) aufgerufen?

Bei der Beschreibung deines Problemes denke ich, dass bei der Datumsübertragung von PHP zu Javascript zu einem Problem kommt.
Hast du evtl. irgendwo ein Schreibfehler der von Firefox ignoriert wird, mit dem der IE aber nicht umgehen kann?
Bitte warten ..
Mitglied: felixcc
03.03.2011 um 15:59 Uhr
So jetzt aber...

das kommt davon wenn man während man seine Frage formuliert noch im Quelltext rumprobiert...

Das Problem liegt daran, dass im Firefox ein String mit dem Format "2011,03,03,15:57:22" in Javascript in ein Date umgewandelt werden kann und im IE da nur NaN draus macht.

Wenn also Jemand weiß in welchem Format ein Datum auch unter dem IE mit Javascript zu einem Date geparst werden kann, wäre ich sehr dankbar.


Bezüglich Schreibfehler habe ich auch schon rumgeguckt, aber ncihts finden können..
Bitte warten ..
Mitglied: Arano
03.03.2011 um 16:09 Uhr
Moin moin,

"< code> some JS </code >" - Code-Tags wären nicht schlecht !

ich denke mal das "uhrzeit()" und "setDifference()" die selbe Funktion darstellen sollen...
Außerdem denke ich, dass dein Objektaufruf falsch ist !
w3schools.com - Tutorials - Javascript Date Object
Zitat von www.w3scools.com
There are four ways of instantiating a date:
new Date() // current date and time
new Date(milliseconds) // milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)


~Arano


Edit
Achso, auf selfHTML wird "dateString" als "Monat Tag, Jahr Stunden:Minuten:Sekunden" dargestellt.
http://de.selfhtml.org/javascript/objekte/date.htm
Bitte warten ..
Mitglied: redder
03.03.2011 um 16:13 Uhr
Ok jetzt macht das alles Sinn xD

Mir fällt auf, dass z.B. ein Semikolon hinter servertime = new Date(servertimeString) fehlt.
Ich bin jetzt nicht sicher ob das so auch in deinem Quellcode steht oder nur hier auf der Seite, aber ich würde mal deinen ganzen Quellcode nach diesen Flüchtigkeitsfehlern durchsuchen.
Bitte warten ..
Mitglied: felixcc
03.03.2011 um 16:30 Uhr
Hallihallo,

genau, statt Uhrzeit() heißt es jetzt setDifference().

Bei w3schools habe ich mich auch schon durchgearbeitet und da besteht das Problem, dass der Fall 3 --> (var d3 = new Date(79,5,24,11,33,0) <--- nicht funktioniert (weder ie noch ff)
Bei mir funktioniert es nur wenn ich den String so formatiere: --> new Date(79,5,24,11:33:00) <---- Dann aber nur ff und nicht ie...
und jetzt bin ich halt auf der Suche nach dem Format welches für ie und ff geht, und...

...dank deines Links habe ich auch gerade die Lösung gefunden.
Der erste Fall geht in FF und IE!!
Ich muss jetzt nurnoch mein php statement so anpassen,dass es auch das Datum im folgenden Format ausgibt: "October 13, 1975 11:13:00".

Wenn ich das gefunden habe, poste ich die Lösung und markiere es als gelöst.

Ich danke euch allen für die tolle Unterstützung!

Gruß
Felix

edit:
Lösung:
<?php echo date("F d, Y G:i:s"); ?>
liefert ein Format welches in Javascript in eine Date umgewandelt werden kann und zwar im IE und im FF.
Bitte warten ..
Ähnliche Inhalte
Apache Server
JavaScript wird nicht ausgeführt
Frage von schneerunzelApache Server

Hallo zusammen ich wollte gerade das Tool open3A installieren. Dabei bekomme ich einen Fehler die Dateien sind alle mit ...

JavaScript
Javascript Array
gelöst Frage von internet2107JavaScript2 Kommentare

Ich habe folgendes Problem. Ersetze ich die folgenden Zahlen gegen Variablenwerte, bekomme ich nicht das Ergebnis, wie mit festen ...

JavaScript
Javascript Funktionen
gelöst Frage von agowa338JavaScript5 Kommentare

Hallo, habe gerade mehrere schönen Javascripte per mail bekommen und frage mich gerade, was eigentlich folgendes in einem Javascript ...

JavaScript
JavaScript Map
Frage von tobmesJavaScript7 Kommentare

Hi, ich bins mal wider :). Ich spiele immernoch mit JavaScript herum und hänge jetzt mal wieder. Ich habe ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 21 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 4 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 5 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Windows 10
Probleme mit Dateien, deren Pfad + Dateiname länger als 256 Zeichen sind
Frage von FalaffelWindows 1011 Kommentare

Guten Tag, unter Windows 10 scheint es immer noch das Problem zu geben, dass der Pfad + Dateiname einer ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Microsoft Office
Outlook 2016 - Makro startet nicht über Knopf im Menüband
Frage von ZunarasMicrosoft Office9 Kommentare

Schönen guten Tag! ich brauche wieder einmal Hilfe. Ich möchte gerne von Office 2010 32bit auf 2016 64bit wechseln ...