Chrome Dev Summit 2018 is happening now and streaming live on YouTube. Watch now.

Situs Menggunakan Event Listener Pasif untuk Meningkatkan Kinerja Pengguliran

Mengapa audit itu penting

Menyetel opsi passive pada event listener wheel dan sentuh bisa meningkatkan kinerja pengguliran.

Lihat Meningkatkan Kinerja Pengguliran dengan Event Listener Pasif untuk ringkasannya.

Lihat Explainer dalam spesifikasi event listener pasif untuk penyelaman teknis yang lebih mendalam.

Cara untuk lulus audit

Tambahkan flag passive untuk semua event listener yang telah diidentifikasi Lighthouse. Secara umum, tambahkan flag passive untuk semua event listener wheel, mousewheel, touchstart, dan touchmove yang tidak memanggil preventDefault().

Dalam browser yang mendukung event listener pasif, menandai listener sebagai passive semudah menyetel flag:

document.addEventListener('touchstart', onTouchStart, {passive: true});

Namun, dalam browser yang tidak mendukung event listener pasif, parameter ketiga adalah boolean untuk menunjukkan apakah kejadian harus digelembungkan atau ditangkap. Jadi, menggunakan sintaks di atas bisa menyebabkan konsekuensi yang tidak diinginkan.

Lihat polyfill di Deteksi Fitur untuk mempelajari cara mengimplementasikan event listener pasif dengan aman.

Cara implementasi audit

Bagian ini menjelaskan cara implementasi audit, agar Anda bisa memahami cara menghitung skor audit.

Lighthouse menggunakan algoritme berikut untuk menandai kandidat event listener pasif yang potensial:

  1. Mengumpulkan semua event listener pada laman.
  2. Memfilter listener non-sentuh dan non-wheel.
  3. Memfilter listener yang memanggil preventDefault().
  4. Memfilter listener yang berasal dari host yang berbeda dari laman.

Lighthouse memfilter listener dari host yang berbeda karena Anda mungkin tidak memiliki kontrol atas skrip ini. Karena itu, perhatikan bahwa audit Lighthouse tidak mewakili kinerja gulir penuh dari laman Anda. Mungkin ada skrip pihak ketiga yang membahayakan kinerja gulir laman, namun ini tidak tercantum dalam laporan Lighthouse Anda.