Hallo zusammen!
Ich habe hier ein kleines Problem...
In einer externen Javascript-Datei habe ich folgende Variable definiert:
Damit soll die Client- und Serverzeit gespeichert und für weitere Berechnungen nutzbar gemacht werden.
Das externe Skript wird im HTML normal eingebunden und ist auch verfügbar.
Am Ende der HTML-Datei wird die Zeit-Zählung mit der Serverzeit angestossen:
Das Ganze funktioniert im IE6 und 7 sowie in Safari/Webkit wunderbar, nur Opera und Firefox 3 verweigern. Dort wird Zeit.update() anscheinend nur einmal aufgerufen, zumindest laut Firebug-Konsolen-Log.
Wird aber Zeit.init() mit einem beliebigen Timestamp von der Konsole aus gestartet funktioniert es wunderbar. Fehlermeldungen erscheinen weder im Firebug noch der Opera-Fehlerkonsole.
Bin für jeden Hinweis dankbar!
Gruß,
Brezi
Ich habe hier ein kleines Problem...
In einer externen Javascript-Datei habe ich folgende Variable definiert:
Code:
var Zeit = { Client: 0, Server: 0, Verschiebung: 0, UpdateInterval: null, SyncRequest: null, i: 0, init: function( timestamp ) { this.Client = Math.round(new Date().getTime()/1000); this.Server = timestamp; this.Verschiebung = this.Client - this.Server; this.UpdateInterval = setInterval( Zeit.update, 1000 ); }, update: function() { //console.log(Zeit.Server); Zeit.Server++; Zeit.Client++; Zeit.i++; if( Zeit.i == 300 ) { Zeit.i = 0; Zeit.sync(); } }, sync: function() { this.SyncRequest = createAjaxRequestObj(); this.SyncRequest.open('GET', 'atime.php', true ); this.SyncRequest.onreadystatechange = function () { Zeit.syncHandler( Zeit.SyncRequest ) }; this.SyncRequest.send( null ); }, syncHandler: function( request ) { if( request.readyState == 4 ) { if( request.status == 200 ) { response = eval("("+request.responseText+")"); this.Client = Math.round(new Date().getTime()/1000); this.Server = response.time; this.Verschiebung = this.Client - this.Server; } } } };
Das externe Skript wird im HTML normal eingebunden und ist auch verfügbar.
Am Ende der HTML-Datei wird die Zeit-Zählung mit der Serverzeit angestossen:
HTML Code:
<script type="text/javascript"> Zeit.init(<?=time()?>); </script>
Wird aber Zeit.init() mit einem beliebigen Timestamp von der Konsole aus gestartet funktioniert es wunderbar. Fehlermeldungen erscheinen weder im Firebug noch der Opera-Fehlerkonsole.
Bin für jeden Hinweis dankbar!
Gruß,
Brezi
Comment