Event
इंटरफ़ेस की timeStamp
प्रॉपर्टी से पता चलता है कि कोई इवेंट कब हुआ था.
Chrome के 49 से पहले के वर्शन में, इस timeStamp
वैल्यू को DOMTimeStamp
के तौर पर दिखाया जाता था. यह वैल्यू, सिस्टम के शुरू होने से लेकर अब तक के कुल मिलीसेकंड की पूरी संख्या होती थी. यह वैल्यू, Date.now()
से मिली वैल्यू जैसी ही होती थी.
Chrome 49 से, timeStamp
एक
DOMHighResTimeStamp
वैल्यू है. यह वैल्यू अब भी मिलीसेकंड में होती है, लेकिन माइक्रोसेकंड के रिज़ॉल्यूशन के साथ. इसका मतलब है कि वैल्यू में दशमलव वाला कॉम्पोनेंट शामिल होगा. इसके अलावा, वैल्यू को PerformanceTiming.navigationStart
के बजाय, युग के हिसाब से दिखाया जाता है. इसका मतलब है कि उपयोगकर्ता ने पेज पर जाने के समय की वैल्यू.
टाइमस्टैंप के सटीक होने के फ़ायदों को इन उदाहरणों में देखा जा सकता है:
अलग-अलग ब्राउज़र और लेगसी वर्शन के लिए ध्यान देने वाली बातें
अगर आपके पास मौजूदा कोड है, जो दो इवेंट की Event.timeStamp
वैल्यू की तुलना करता है, तो आपको DOMHighResTimeStamp
पर स्विच करने की वजह से, अपने कोड में बदलाव करने की ज़रूरत नहीं है. इसके अलावा, DOMHighResTimeStamp
के साथ काम करने वाले ब्राउज़र पर, आपके मौजूदा कोड को माइक्रोसेकंड के हिसाब से ज़्यादा सटीक डेटा मिलेगा. साथ ही, यह भी पक्का है कि DOMHighResTimeStamp
की परफ़ॉर्मेंस लगातार बेहतर होती रहेगी. भले ही, आपके वेब पेज के चलने के दौरान सिस्टम क्लॉक में बदलाव हो जाए.
अगर दो Event.timeStamp
वैल्यू की तुलना करने के बजाय, आपके कोड को यह तय करना है कि कोई इवेंट कब हुआ था, तो नई DOMHighResTimeStamp
वैल्यू की तुलना सीधे performance.now()
से की जा सकती है.
अगर आपको सिस्टम के शुरू होने के बाद से Event.timeStamp
को मिलीसेकंड की सटीक संख्या में बदलना है, तो performance.timing.navigationStart
में DOMHighResTimeStamp
जोड़कर वह वैल्यू पाई जा सकती है.
दोनों ही मामलों में, DOMTimeStamp
और DOMHighResTimeStamp
के काम करने का तरीका अलग-अलग होता है. हालांकि, माजिद वलीपुर की मदद से बनाए गए इस कन्वर्ज़न फ़ंक्शन का इस्तेमाल करके, क्रॉस-ब्राउज़र कोड को आसान बनाया जा सकता है. यह एक
Event
ऑब्जेक्ट को पैरामीटर के तौर पर लेता है और
DOMHighResTimeStamp
जैसी वैल्यू दिखाता है. इस वैल्यू की तुलना
performance.now()
से की जा सकती है या इसे
performance.timing.navigationStart
में जोड़ा जा सकता है.