Подтвердите и скорость, и функции
Как проверить отложенную загрузку JavaScript
Исходный HTML показывает атрибуты, Network — момент загрузки, Performance — выполнение, а функциональный тест — не потерялись ли действия пользователя. Одного зелёного аудита недостаточно.
Быстрая проверка
- Откройте исходный код страницы, найдите внешние
script srcвнутриhead. - Отметьте классические теги без
defer,asyncилиtype="module"; это кандидаты, а не автоматические ошибки. - Откройте DevTools → Network, включите Disable cache, выберите JS и перезагрузите страницу.
- В Performance запишите загрузку с обновлением и найдите длинные задачи Script/Evaluate Script до первого отображения и около взаимодействия.
- С медленной сетью пройдите меню, форму, поиск, корзину, оплату, чат и согласованные события аналитики.
Хороший результат: критическое содержимое появляется без ожидания некритичного JS, зависимости не дают ошибок, а каждое важное действие работает с первого раза.
Уровни проблемы
| Наблюдение | Уровень | Действие |
|---|---|---|
| Нет некритичных parser-blocking тегов, сценарии работают | Проблемы нет | Сохранить waterfall и список тестов |
| Небольшой собственный тег блокирует head без заметной задержки | Некритично | Проверить зависимость и пользу изменения |
| Крупный или сторонний JS задерживает содержимое | Высоко | Выбрать defer, async или позднюю загрузку |
| После отсрочки сломаны форма, заказ, меню или измерение | Критично | Откатить и исправить порядок до публикации |
Техническая проверка тегов
[...document.scripts].map(s => ({ src: s.src || 'inline', async: s.async, defer: s.defer, type: s.type || 'classic' }))Команда описывает уже отрисованный DOM. Она не доказывает, что тег был parser-blocking, и не показывает тяжесть выполнения — для этого нужны исходный HTML, Network и Performance.
Расхождения и границы
- Lighthouse может не назвать скрипт блокирующим, но его выполнение всё равно способно занять главный поток.
asyncзагружается неблокирующе, но может прервать разбор HTML в момент выполнения.- Менеджер тегов, cookie consent, A/B-тест или кеш могут менять набор запросов между запусками.
- Расширение браузера и авторизованное состояние искажают результат; используйте чистый профиль.
- Один URL не доказывает состояние всех шаблонов и действий.
Автоматическая цена относится к согласованным шаблонам на странице услуги. Для исправления используйте пошаговую инструкцию.