تشير سمة timeStamp
للواجهة Event
إلى الوقت الذي وقع فيه حدث معيّن.
في إصدارات Chrome التي تسبق الإصدار 49، كان يتم تمثيل قيمة timeStamp
هذه على أنّها DOMTimeStamp
،
وكانت تمثل عددًا صحيحًا من المللي ثانية منذ
حقبة النظام،
وهي تشبه إلى حدّ كبير القيمة التي يعرضها
Date.now()
.
بدءًا من Chrome 49، تكون timeStamp
قيمة
DOMHighResTimeStamp
. لا تزال هذه القيمة عبارة عن عدد من المللي ثانية، ولكن بدرجة الدقة بالميكرو ثانية،
ما يعني أنّ القيمة ستتضمّن مكوّنًا عشريًا. بالإضافة إلى ذلك،
بدلاً من أن تكون القيمة نسبية إلى الحقبة، تكون القيمة نسبية إلى
PerformanceTiming.navigationStart
،
أي الوقت الذي انتقل فيه المستخدم إلى الصفحة.
ويمكن معرفة مزايا دقة الطابع الزمني الإضافية في الأمثلة التالية:
الاعتبارات القديمة والمتصفّحات المختلفة
إذا كان لديك رمز برمجي حالي يقارن بين قيم Event.timeStamp
وحدثَين، لن تحتاج إلى تعديل الرمز بسبب الانتقال إلى DOMHighResTimeStamp
. بالإضافة إلى ذلك، سيستفيد الرمز البرمجي الحالي في المتصفّحات التي تتوافق مع
DOMHighResTimeStamp
من
الدقة المتزايدة في الميكرو ثانية، فضلاً عن أنّ
DOMHighResTimeStamp
مضمونة
أن يزداد بشكل رتيب
بغض النظر عمّا إذا كانت ساعة النظام قد تغيّرت في منتصف عملية تنفيذ صفحة الويب.
إذا كان من الضروري مقارنة قيمتَي Event.timeStamp
بالرمز البرمجي
لتحديد الفترة التي مرّت على وقوع الحدث،
يمكن مقارنة قيمة DOMHighResTimeStamp
الجديدة مباشرةً بالقيم
performance.now()
.
وإذا كنت بحاجة إلى تحويل Event.timeStamp
إلى عدد مطلق بالمللي ثانية منذ حقبة النظام، يمكنك الحصول على هذه القيمة من خلال إضافة DOMHighResTimeStamp
إلى performance.timing.navigationStart
.
في كلتا الحالتين، يتصرف DOMTimeStamp
وDOMHighResTimeStamp
بشكل مختلف، ولكن يمكنك تبسيط الرمز عبر المتصفحات باستخدام وظيفة التحويل هذه، مقدمة من Majid Valipour. وهي تستخدم الكائن Event
كمعلَمة وتعرِض قيمة تشبه DOMHighResTimeStamp
، ويمكن مقارنتها مع performance.now()
أو إضافتها إلى performance.timing.navigationStart
.