Ereignis: timeStamp-Eigenschaft
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die schreibgeschützte timeStamp-Eigenschaft der Event-Schnittstelle gibt die Zeit (in Millisekunden) zurück, zu der das Ereignis erstellt wurde.
Wert
Der Wert ist ein DOMHighResTimeStamp, der die Anzahl der Millisekunden darstellt, die vom Zeitursprung des relevanten globalen Objekts bis zur Erstellung des Ereignisses vergangen sind. Die Genauigkeit kann reduziert sein, um Timing-Angriffe und Fingerprinting zu verhindern.
Beispiel
>HTML
<p>
Focus this iframe and press any key to get the current timestamp for the
keypress event.
</p>
<p>timeStamp: <span id="time">-</span></p>
JavaScript
function getTime(event) {
const time = document.getElementById("time");
time.firstChild.nodeValue = event.timeStamp;
}
document.body.addEventListener("keypress", getTime);
Ergebnis
Reduzierte Zeitgenauigkeit
Um Schutz gegen Timing-Angriffe und Fingerprinting zu bieten, kann die Genauigkeit von event.timeStamp je nach Browsereinstellungen reduziert sein.
Bruchteilig angezeigte Millisekunden bedeuten nicht zwangsläufig, dass die Zeitgenauigkeit nicht reduziert wurde.
In Chrome beträgt das Rundungsintervall 0,1 ms oder 0,005 ms in kontextübergreifend isolierten Umgebungen. In Safari beträgt es 1 ms oder 0,02 ms in kontextübergreifend isolierten Umgebungen.
In Firefox ist die Option privacy.reduceTimerPrecision standardmäßig aktiviert und verwendet ein Rundungsintervall von 1 ms oder 0,02 ms in kontextübergreifend isolierten Umgebungen. Wenn privacy.resistFingerprinting aktiviert ist, beträgt das Rundungsintervall 16,667 ms oder das Intervall, das durch privacy.resistFingerprinting.reduceTimerPrecision.microseconds konfiguriert ist, je nachdem, welches größer ist.
Zum Beispiel sind dies mögliche Werte in Firefox:
// Reduced time precision (1 ms) in a non-isolated context
event.timeStamp;
// Might be:
// 9934
// 10363
// 11671
// …
// Reduced time precision with `privacy.resistFingerprinting` enabled
event.timeStamp;
// Might be:
// 10000.2
// 10016.867
// 10033.534
// …
Spezifikationen
| Spezifikation |
|---|
| DOM> # ref-for-dom-event-timestamp①> |