พร็อพเพอร์ตี้ timeStamp
ของอินเทอร์เฟซ Event
จะระบุเวลาที่เกิดเหตุการณ์หนึ่งๆ
ใน Chrome เวอร์ชันก่อนหน้า 49 ค่า timeStamp
นี้แสดงเป็น DOMTimeStamp
ซึ่งเป็นจํานวนมิลลิวินาทีที่นับแต่ Epoch ของระบบ คล้ายกับค่าที่ Date.now()
แสดงผล
สำหรับ Chrome 49 เป็นต้นไป timeStamp
จะเป็นค่า DOMHighResTimeStamp
ค่านี้ยังคงเป็นจำนวนมิลลิวินาที แต่ที่มีความละเอียดระดับไมโครวินาที หมายความว่าค่าจะมีองค์ประกอบที่เป็นทศนิยม นอกจากนี้ แทนค่าที่สัมพันธ์กับ Epoch ค่าจะสัมพันธ์กับ PerformanceTiming.navigationStart
กล่าวคือ เวลาที่ผู้ใช้ไปยังหน้าเว็บ
ประโยชน์ของความแม่นยำของการประทับเวลาที่เพิ่มขึ้นสามารถดูได้ในตัวอย่างต่อไปนี้
ข้อควรพิจารณาเดิมระหว่างเบราว์เซอร์และเบราว์เซอร์
หากคุณมีโค้ดเดิมที่เปรียบเทียบค่า Event.timeStamp
จาก 2 เหตุการณ์ คุณไม่ควรต้องปรับเปลี่ยนโค้ดในบัญชีที่เปลี่ยนเป็น DOMHighResTimeStamp
นอกจากนี้ ในเบราว์เซอร์ที่รองรับ DOMHighResTimeStamp
โค้ดที่มีอยู่จะได้รับประโยชน์จากความแม่นยำระดับไมโครวินาทีที่เพิ่มขึ้น รวมถึงการรับประกันว่า DOMHighResTimeStamp
จะเพิ่มขึ้นแบบโมโนโมชัน ไม่ว่านาฬิกาของระบบจะเปลี่ยนไปในระหว่างการดำเนินการของหน้าเว็บหรือไม่ก็ตาม
หากแทนที่การเปรียบเทียบค่า Event.timeStamp
2 ค่า โค้ดจะต้องระบุระยะเวลาที่ผ่านมาของเหตุการณ์ที่เกิดขึ้น คุณจะเปรียบเทียบค่า DOMHighResTimeStamp
ใหม่กับ performance.now()
ได้โดยตรง
และหากต้องการแปลง Event.timeStamp
เป็นจำนวนสัมบูรณ์ของมิลลิวินาทีนับตั้งแต่ Epoch ของระบบ คุณก็รับค่าดังกล่าวได้โดยเพิ่ม DOMHighResTimeStamp
ลงใน performance.timing.navigationStart
ในทั้ง 2 กรณี DOMTimeStamp
และ DOMHighResTimeStamp
จะทำงานต่างกัน แต่คุณสามารถลดความซับซ้อนของโค้ดสำหรับเบราว์เซอร์หลายเบราว์เซอร์ได้โดยใช้ฟังก์ชัน Conversion นี้ ซึ่งเป็นข้อมูลของ Majid Valipour ซึ่งจะใช้ออบเจ็กต์ Event
เป็นพารามิเตอร์และแสดงผลค่าที่เหมือน DOMHighResTimeStamp
ซึ่งพร้อมที่จะเปรียบเทียบกับ performance.now()
หรือเพิ่มลงใน performance.timing.navigationStart