Прослушиватели событий касания и колеса полезны для отслеживания действий пользователя и создания пользовательских возможностей прокрутки, но они также могут задерживать прокрутку страницы. В настоящее время браузеры не могут знать, предотвратит ли прослушиватель событий прокрутку, поэтому они всегда ждут, пока прослушиватель завершит выполнение, прежде чем прокручивать страницу. Пассивные прослушиватели событий решают эту проблему, позволяя указать, что прослушиватель событий никогда не будет препятствовать прокрутке.
Совместимость с браузером
Большинство браузеров поддерживают пассивные прослушиватели событий. См. Совместимость браузера.
Как происходит сбой аудита пассивного прослушивателя событий Lighthouse
Lighthouse помечает прослушиватели событий, которые могут задерживать прокрутку страницы:
Lighthouse использует следующий процесс для определения прослушивателей событий, которые могут повлиять на производительность прокрутки:
- Соберите все прослушиватели событий на странице.
- Отфильтруйте прослушиватели без сенсорного управления и без колес.
- Отфильтруйте прослушиватели, которые вызывают
preventDefault()
. - Отфильтруйте прослушиватели, которые находятся на другом хосте, чем страница.
Lighthouse отфильтровывает прослушиватели с разных хостов, поскольку вы, вероятно, не можете контролировать эти сценарии. Могут существовать сторонние скрипты, которые ухудшают производительность прокрутки вашей страницы, но они не указаны в вашем отчете Lighthouse.
Как сделать прослушиватели событий пассивными, чтобы улучшить производительность прокрутки
Добавьте passive
флаг к каждому прослушивателю событий, обнаруженному Lighthouse.
Если вы поддерживаете только браузеры с поддержкой пассивного прослушивателя событий, просто добавьте флаг. Например:
document.addEventListener('touchstart', onTouchStart, {passive: true});
Если вы поддерживаете старые браузеры, которые не поддерживают пассивные прослушиватели событий , вам потребуется использовать обнаружение функций или полифилл. Дополнительную информацию см. в разделе «Обнаружение функций» документа с объяснением пассивных прослушивателей событий WICG.
Ресурсы
- Исходный код для Не использует пассивные прослушиватели для улучшения аудита производительности прокрутки
- Улучшение производительности прокрутки с помощью пассивных прослушивателей событий
- Объяснение пассивных прослушивателей событий
- EventTarget.addEventListener()
Прослушиватели событий касания и колеса полезны для отслеживания действий пользователя и создания пользовательских возможностей прокрутки, но они также могут задерживать прокрутку страницы. В настоящее время браузеры не могут знать, предотвратит ли прослушиватель событий прокрутку, поэтому они всегда ждут, пока прослушиватель завершит выполнение, прежде чем прокручивать страницу. Пассивные прослушиватели событий решают эту проблему, позволяя указать, что прослушиватель событий никогда не будет препятствовать прокрутке.
Совместимость с браузером
Большинство браузеров поддерживают пассивные прослушиватели событий. См. Совместимость браузера.
Как происходит сбой аудита пассивного прослушивателя событий Lighthouse
Lighthouse помечает прослушиватели событий, которые могут задерживать прокрутку страницы:
Lighthouse использует следующий процесс для определения прослушивателей событий, которые могут повлиять на производительность прокрутки:
- Соберите все прослушиватели событий на странице.
- Отфильтруйте прослушиватели без сенсорного управления и без колес.
- Отфильтруйте прослушиватели, которые вызывают
preventDefault()
. - Отфильтруйте прослушиватели, которые находятся на другом хосте, чем страница.
Lighthouse отфильтровывает прослушиватели с разных хостов, поскольку вы, вероятно, не можете контролировать эти сценарии. Могут существовать сторонние скрипты, которые ухудшают производительность прокрутки вашей страницы, но они не указаны в вашем отчете Lighthouse.
Как сделать прослушиватели событий пассивными, чтобы улучшить производительность прокрутки
Добавьте passive
флаг к каждому прослушивателю событий, обнаруженному Lighthouse.
Если вы поддерживаете только браузеры с поддержкой пассивного прослушивателя событий, просто добавьте флаг. Например:
document.addEventListener('touchstart', onTouchStart, {passive: true});
Если вы поддерживаете старые браузеры, которые не поддерживают пассивные прослушиватели событий , вам потребуется использовать обнаружение функций или полифилл. Дополнительную информацию см. в разделе «Обнаружение функций» документа с объяснением пассивных прослушивателей событий WICG.
Ресурсы
- Исходный код для не использует пассивные прослушиватели для улучшения аудита производительности прокрутки
- Улучшение производительности прокрутки с помощью пассивных прослушивателей событий
- Объяснение пассивных прослушивателей событий
- EventTarget.addEventListener()
Прослушиватели событий касания и колеса полезны для отслеживания действий пользователя и создания пользовательских возможностей прокрутки, но они также могут задерживать прокрутку страницы. В настоящее время браузеры не могут знать, предотвратит ли прослушиватель событий прокрутку, поэтому они всегда ждут, пока прослушиватель завершит выполнение, прежде чем прокручивать страницу. Пассивные прослушиватели событий решают эту проблему, позволяя вам указать, что прослушиватель событий никогда не будет препятствовать прокрутке.
Совместимость с браузером
Большинство браузеров поддерживают пассивные прослушиватели событий. См. Совместимость браузера.
Как происходит сбой аудита пассивного прослушивателя событий Lighthouse
Lighthouse помечает прослушиватели событий, которые могут задерживать прокрутку страницы:
Lighthouse использует следующий процесс для определения прослушивателей событий, которые могут повлиять на производительность прокрутки:
- Соберите все прослушиватели событий на странице.
- Отфильтруйте прослушиватели без сенсорного управления и без колес.
- Отфильтруйте прослушиватели, которые вызывают
preventDefault()
. - Отфильтруйте прослушиватели, которые находятся на другом хосте, чем страница.
Lighthouse отфильтровывает прослушиватели с разных хостов, потому что вы, вероятно, не можете контролировать эти сценарии. Могут существовать сторонние скрипты, которые ухудшают производительность прокрутки вашей страницы, но они не указаны в вашем отчете Lighthouse.
Как сделать прослушиватели событий пассивными, чтобы улучшить производительность прокрутки
Добавьте passive
флаг к каждому прослушивателю событий, обнаруженному Lighthouse.
Если вы поддерживаете только браузеры с поддержкой пассивного прослушивателя событий, просто добавьте флаг. Например:
document.addEventListener('touchstart', onTouchStart, {passive: true});
Если вы поддерживаете старые браузеры, которые не поддерживают пассивные прослушиватели событий , вам потребуется использовать обнаружение функций или полифилл. Дополнительную информацию см. в разделе «Обнаружение функций» документа с объяснением пассивных прослушивателей событий WICG.
Ресурсы
- Исходный код для не использует пассивные прослушиватели для улучшения аудита производительности прокрутки
- Улучшение производительности прокрутки с помощью пассивных прослушивателей событий
- Объяснение пассивных прослушивателей событий
- EventTarget.addEventListener()
Прослушиватели событий касания и колеса полезны для отслеживания действий пользователя и создания пользовательских возможностей прокрутки, но они также могут задерживать прокрутку страницы. В настоящее время браузеры не могут знать, предотвратит ли прослушиватель событий прокрутку, поэтому они всегда ждут, пока прослушиватель завершит выполнение, прежде чем прокручивать страницу. Пассивные прослушиватели событий решают эту проблему, позволяя указать, что прослушиватель событий никогда не будет препятствовать прокрутке.
Совместимость с браузером
Большинство браузеров поддерживают пассивные прослушиватели событий. См. Совместимость браузера.
Как происходит сбой аудита пассивного прослушивателя событий Lighthouse
Lighthouse помечает прослушиватели событий, которые могут задерживать прокрутку страницы:
Lighthouse использует следующий процесс для определения прослушивателей событий, которые могут повлиять на производительность прокрутки:
- Соберите все прослушиватели событий на странице.
- Отфильтруйте прослушиватели без сенсорного управления и без колес.
- Отфильтруйте прослушиватели, которые вызывают
preventDefault()
. - Отфильтруйте прослушиватели, которые находятся на другом хосте, чем страница.
Lighthouse отфильтровывает прослушиватели с разных хостов, поскольку вы, вероятно, не можете контролировать эти сценарии. Могут существовать сторонние скрипты, которые ухудшают производительность прокрутки вашей страницы, но они не указаны в вашем отчете Lighthouse.
Как сделать прослушиватели событий пассивными, чтобы улучшить производительность прокрутки
Добавьте passive
флаг к каждому прослушивателю событий, обнаруженному Lighthouse.
Если вы поддерживаете только браузеры с поддержкой пассивного прослушивателя событий, просто добавьте флаг. Например:
document.addEventListener('touchstart', onTouchStart, {passive: true});
Если вы поддерживаете старые браузеры, которые не поддерживают пассивные прослушиватели событий , вам потребуется использовать обнаружение функций или полифилл. Дополнительную информацию см. в разделе «Обнаружение функций» документа с объяснением пассивных прослушивателей событий WICG.