Änderungen der Systemzeit in JavaScript erkennen

8

Wie kann ich ein Skript schreiben, das erkennt, wenn ein Benutzer seine Systemzeit in JS ändert?

    
AHOYAHOY 29.07.2010, 22:33
quelle

6 Antworten

7

Es gibt keine (portable) Möglichkeit, eine Variable in JavaScript zu verfolgen. Außerdem liegen Datumsinformationen nicht im DOM, sodass Sie nicht die Möglichkeit erhalten, dass ein DOM-Ereignis ausgelöst wird.

Das Beste, was Sie tun können, ist setInterval regelmäßig zu überprüfen (jede Sekunde?). Beispiel :

%Vor%     
strager 29.07.2010, 22:41
quelle
1

Überprüfen Sie in einer Intervallfunktion, dass sich die Zeit nicht zu sehr geändert hat:

%Vor%

Getestet unter Windows mit Opera & amp; FF und funktioniert einwandfrei.

    
Karel Petranek 29.07.2010 22:46
quelle
1
%Vor%

In der Theorie sollte das funktionieren. Es wird jede Sekunde überprüft, um sicherzustellen, dass die Zeit nicht geändert wurde. Beachten Sie, dass ich 1100 Millisekunden verwende, da die meisten JS-Interpreter Ereignisse nicht genau zum angegebenen Zeitpunkt auslösen.

Hoffe, das hilft!

    
mattbasta 29.07.2010 22:46
quelle
0

Meinst du, wenn sie ihre eigene Systemzeit auf etwas ändern, das falsch ist? Sie können den Benutzer nach seiner Zeitzone fragen und die korrekte Uhrzeit vom Server abrufen und diese dann mit der Systemzeit des Benutzers vergleichen.

    
Nick McCurdy 29.07.2010 22:39
quelle
0

Denken Sie nicht, dass es eine Lösung für das gibt, nach der Sie fragen, aber Sie können den Zeitzonen-Offset für die Benutzer erhalten.

%Vor%

Dies gibt den Offset in Minuten von GMT zurück. Denken Sie jedoch daran, dass dies DST nicht berücksichtigt.

    
Liam Spencer 29.07.2010 22:44
quelle
0

Sie könnten alle 30 Sekunden usw. überprüfen. Wenn die neue Zeit um mehr als 30 Sekunden +/- ein Schwellenwert schwankt, können Sie einen umfassenderen Vergleich durchführen, um festzustellen, wie stark sie geändert wurde.

    
Derrick 29.07.2010 23:12
quelle

Tags und Links