ইভেন্টের জন্য উচ্চ রেজোলিউশন টাইমস্ট্যাম্প

Event ইন্টারফেসের timeStamp বৈশিষ্ট্য একটি প্রদত্ত ইভেন্ট সংঘটিত হওয়ার সময় নির্দেশ করে।

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 এ যোগ করা হয়।