تكون أدوات الاستماع إلى أحداث اللمس والعجلة مفيدة لتتبُّع تفاعلات المستخدمين وإنشاء تجارب تخصيص لتحريك الصفحة، ولكن يمكنها أيضًا تأخير الانتقال إلى أسفل الصفحة. في الوقت الحالي، لا يمكن للمتصفحات معرفة ما إذا كانت أداة معالجة الحدث ستمنع التمرير أم لا، لذلك ينتظر دائمًا أن ينتهي المستمع من التنفيذ قبل التمرير في الصفحة. تعمل أدوات معالجة الأحداث السلبية على حلّ هذه المشكلة من خلال السماح لك بالإشارة إلى أنّ أداة معالجة الأحداث لن تمنع أبدًا الانتقال للأعلى أو للأسفل.
توافُق المتصفح
تتوافق معظم المتصفّحات مع أدوات معالجة الأحداث السلبية. عرض توافُق المتصفّح
أسباب تعذُّر تدقيق أداة معالجة الأحداث السلبية في Lighthouse
Lighthouse تُحدِّد أدوات معالجة الأحداث التي قد تؤخِّر عملية تصفُّح الصفحة:

تستخدم أداة Lighthouse العملية التالية لتحديد أدوات معالجة الأحداث التي قد تؤثر في أداء التمرير:
- جمع جميع أدوات معالجة الأحداث في الصفحة
- يمكنك فلترة أدوات معالجة الأحداث التي لا تعمل باللمس ولا تعمل على عجلات.
- فلترة المستمعين الذين يتصلون بالرقم
preventDefault()
- فلترة المستمعين من مضيف مختلف عن الصفحة
تصفّي أداة Lighthouse مستمعي البيانات من مضيفين مختلفين لأنّه من المحتمل ألا يكون لديك التحكّم في هذه النصوص البرمجية. قد تكون هناك نصوص برمجية تابعة لجهات خارجية تضرّ بأداء الانتقال للأعلى أو للأسفل في صفحتك، ولكنّ هذه النصوص غير مُدرَجة في تقرير Lighthouse.
كيفية جعل أدوات معالجة الأحداث سلبية لتحسين أداء التمرير
أضِف علامة passive
إلى كل أداة استماع للأحداث حدّدتها أداة Lighthouse.
إذا كنت لا تتوافق إلا مع المتصفّحات التي تتوافق مع أدوات معالجة الأحداث السلبية فما عليك سوى إضافة العلم. على سبيل المثال:
document.addEventListener('touchstart', onTouchStart, {passive: true});
إذا كنت متوافقًا مع المتصفّحات القديمة التي لا تتوافق مع أدوات معالجة الأحداث السلبية، ستحتاج إلى استخدام اكتشاف الميزات أو رموز polyfill. اطّلِع على القسم Feature Detection (اكتشاف الميزات) من مستند الشرح Passive event listeners (أدوات معالجة الأحداث السلبية) الذي يتبع مبادرة Web Input Compatibility Group (WICG) للحصول على مزيد من المعلومات.