Etkinlikler için yüksek çözünürlüklü zaman damgaları

Event arayüzünün timeStamp mülkü, belirli bir etkinliğin gerçekleştiği zamanı gösterir.

Chrome'un 49'dan önceki sürümlerinde bu timeStamp değeri, Date.now() tarafından döndürülen değere benzer şekilde sistem döneminden itibaren tam sayı milisaniye olarak ifade edilen bir DOMTimeStamp olarak gösteriliyordu.

Chrome 49'dan itibaren timeStamp, DOMHighResTimeStamp değerini alır. Bu değer yine milisaniye cinsindendir ancak mikrosaniye çözünürlüğündedir. Yani değer bir ondalık bileşen içerecektir. Ayrıca, değer çağa göre değil, PerformanceTiming.navigationStart'a (yani kullanıcının sayfaya gittiği zamana) göredir.

Ek zaman damgası doğruluğunun avantajlarını aşağıdaki örneklerde görebilirsiniz:

Tarayıcılar arası ve eski özelliklerle ilgili dikkat edilmesi gereken noktalar

İki etkinlikten alınan Event.timeStamp değerlerini karşılaştıran mevcut bir kodunuz varsa DOMHighResTimeStamp'e geçiş nedeniyle kodunuzu ayarlamanız gerekmez. Ayrıca, DOMHighResTimeStamp'ü destekleyen tarayıcılarda mevcut kodunuz, artmış mikrosaniye doğruluğundan ve web sayfanızın yürütülmesinin ortasında sistem saatinin değişip değişmediğinden bağımsız olarak DOMHighResTimeStamp'ün monotonik olarak artacağından yararlanır.

Kodunuzun iki Event.timeStamp değerini karşılaştırmak yerine bir etkinliğin ne kadar süre önce gerçekleştiğini belirlemesi gerekiyorsa yeni DOMHighResTimeStamp değeri doğrudan performance.now() ile karşılaştırılabilir. Event.timeStamp değerini, sistem başlangıç tarihinden itibaren milisaniye cinsinden mutlak bir sayıya dönüştürmeniz gerekirse performance.timing.navigationStart değerine DOMHighResTimeStamp ekleyerek bu değeri elde edebilirsiniz.

Her iki durumda da DOMTimeStamp ve DOMHighResTimeStamp farklı davranır ancak Majid Valipour tarafından sağlanan bu dönüşüm işlevini kullanarak tarayıcılar arası kodunuzu basitleştirebilirsiniz. Parametre olarak bir Event nesnesi alır ve performance.now() ile karşılaştırılmaya veya performance.timing.navigationStart'a eklenmeye hazır bir DOMHighResTimeStamp benzeri değer döndürür.