Properti timeStamp
dari antarmuka Event
menunjukkan waktu saat peristiwa tertentu terjadi.
Pada versi Chrome sebelum 49, nilai timeStamp
ini
diwakili sebagai DOMTimeStamp
,
yang merupakan bilangan bulat milidetik sejak
epoch sistem,
seperti nilai yang ditampilkan oleh
Date.now()
.
Mulai Chrome 49, timeStamp
adalah
nilai DOMHighResTimeStamp
. Nilai ini masih dalam hitungan milidetik, tetapi dengan resolusi mikrodetik, yang berarti nilai tersebut akan menyertakan komponen desimal. Selain itu,
bukannya nilai relatif terhadap epoch, nilainya akan relatif terhadap
PerformanceTiming.navigationStart
,
yaitu waktu saat pengguna membuka halaman.
Manfaat akurasi stempel waktu tambahan dapat dilihat dalam contoh berikut:
Pertimbangan lintas browser dan versi lama
Jika sudah memiliki kode yang membandingkan nilai Event.timeStamp
dari
dua peristiwa, Anda tidak perlu menyesuaikan kode karena peralihan ke
DOMHighResTimeStamp
. Selain itu, pada browser yang mendukung
DOMHighResTimeStamp
, kode yang ada akan mendapatkan manfaat dari
peningkatan akurasi mikrodetik, serta fakta bahwa
DOMHighResTimeStamp
dijamin akan
meningkat secara monoton,
terlepas dari apakah jam sistem berubah di tengah eksekusi halaman
web Anda.
Jika alih-alih membandingkan dua nilai Event.timeStamp
, kode Anda perlu menentukan berapa lama peristiwa terjadi, nilai DOMHighResTimeStamp
yang baru dapat dibandingkan secara langsung dengan performance.now()
.
Jika Anda perlu mengubah Event.timeStamp
ke angka absolut milidetik
sejak epoch sistem, Anda bisa mendapatkan nilai tersebut dengan menambahkan
DOMHighResTimeStamp
ke performance.timing.navigationStart
.
Dalam kedua kasus tersebut, DOMTimeStamp
dan DOMHighResTimeStamp
memiliki perilaku yang berbeda, tetapi Anda dapat menyederhanakan kode lintas browser menggunakan fungsi konversi ini, berkat Majid Valipour. Fungsi ini mengambil
objek Event
sebagai parameter dan menampilkan
nilai seperti DOMHighResTimeStamp
, yang siap dibandingkan dengan
performance.now()
atau ditambahkan ke
performance.timing.navigationStart
.