המאפיין 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
.