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