টাচ এবং হুইল ইভেন্ট শ্রোতারা ব্যবহারকারীর ইন্টারঅ্যাকশন ট্র্যাক করার জন্য এবং কাস্টম স্ক্রলিং অভিজ্ঞতা তৈরি করার জন্য উপযোগী, কিন্তু তারা পৃষ্ঠা স্ক্রলিং বিলম্বিত করতে পারে। বর্তমানে, ব্রাউজাররা জানতে পারে না যে একটি ইভেন্ট শ্রোতা স্ক্রোলিং প্রতিরোধ করবে কিনা, তাই তারা সর্বদা পৃষ্ঠাটি স্ক্রোল করার আগে শ্রোতা কার্যকর করা শেষ করার জন্য অপেক্ষা করে। প্যাসিভ ইভেন্ট শ্রোতারা আপনাকে ইঙ্গিত দিয়ে এই সমস্যাটি সমাধান করে যে একটি ইভেন্ট শ্রোতা কখনই স্ক্রলিং প্রতিরোধ করবে না।
ব্রাউজার সামঞ্জস্য
বেশিরভাগ ব্রাউজার প্যাসিভ ইভেন্ট শ্রোতাদের সমর্থন করে। ব্রাউজার সামঞ্জস্য দেখুন
কিভাবে Lighthouse প্যাসিভ ইভেন্ট লিসেনার অডিট ব্যর্থ হয়
লাইটহাউস ইভেন্ট শ্রোতাদের পতাকা দেয় যা পৃষ্ঠা স্ক্রোলিং বিলম্বিত করতে পারে:
লাইটহাউস ইভেন্ট শ্রোতাদের সনাক্ত করতে নিম্নলিখিত প্রক্রিয়া ব্যবহার করে যা স্ক্রোলিং কর্মক্ষমতা প্রভাবিত করতে পারে:
- পৃষ্ঠায় সমস্ত ইভেন্ট শ্রোতা সংগ্রহ করুন।
- নন-টাচ এবং নন-হুইল শ্রোতাদের ফিল্টার করুন।
- শ্রোতাদের ফিল্টার আউট করুন যেগুলি
preventDefault()
কল করে। - পৃষ্ঠার থেকে ভিন্ন হোস্ট থেকে আসা শ্রোতাদের ফিল্টার করুন।
লাইটহাউস বিভিন্ন হোস্ট থেকে শ্রোতাদের ফিল্টার করে কারণ সম্ভবত এই স্ক্রিপ্টগুলির উপর আপনার নিয়ন্ত্রণ নেই৷ এমন তৃতীয় পক্ষের স্ক্রিপ্ট থাকতে পারে যা আপনার পৃষ্ঠার স্ক্রলিং কার্যক্ষমতার ক্ষতি করছে, কিন্তু এগুলি আপনার লাইটহাউস রিপোর্টে তালিকাভুক্ত নয়।
স্ক্রোলিং কর্মক্ষমতা উন্নত করতে ইভেন্ট শ্রোতাদের কীভাবে নিষ্ক্রিয় করা যায়
Lighthouse চিহ্নিত প্রতিটি ইভেন্ট শ্রোতার কাছে একটি passive
পতাকা যোগ করুন।
আপনি যদি শুধুমাত্র সেই ব্রাউজারগুলিকে সমর্থন করেন যেগুলির প্যাসিভ ইভেন্ট লিসেনার সমর্থন আছে, তাহলে শুধু পতাকা যোগ করুন৷ যেমন:
document.addEventListener('touchstart', onTouchStart, {passive: true});
আপনি যদি পুরোনো ব্রাউজারগুলিকে সমর্থন করেন যা প্যাসিভ ইভেন্ট শ্রোতাদের সমর্থন করে না , তাহলে আপনাকে বৈশিষ্ট্য সনাক্তকরণ বা একটি পলিফিল ব্যবহার করতে হবে৷ আরও তথ্যের জন্য WICG প্যাসিভ ইভেন্ট শ্রোতাদের ব্যাখ্যাকারী নথির বৈশিষ্ট্য সনাক্তকরণ বিভাগটি দেখুন।