Использование document.write()
может задержать отображение содержимого страницы на десятки секунд и особенно проблематично для пользователей с медленными соединениями. Поэтому Chrome во многих случаях блокирует выполнение document.write()
, а это значит, что на него нельзя положиться.
В консоли Chrome DevTools при использовании document.write()
вы увидите следующее сообщение:
[Violation] Avoid using document.write().
В консоли разработчика Firefox вы увидите это сообщение:
An unbalanced tree was written using document.write() causing
data from the network to be reparsed.
Как происходит сбой аудита Lighthouse document.write()
Lighthouse помечает вызовы document.write()
, которые не были заблокированы Chrome:
В наиболее проблемных случаях Chrome либо блокирует вызовы document.write()
, либо выдает предупреждение о них в консоли, в зависимости от скорости соединения пользователя. В любом случае затронутые вызовы появятся в консоли DevTools. Дополнительную информацию см. в статье Google « Вмешательство против document.write()
.
Lighthouse сообщает обо всех оставшихся вызовах document.write()
поскольку это отрицательно влияет на производительность независимо от того, как оно используется, и существуют лучшие альтернативы.
Избегайте document.write()
Удалите все случаи использования document.write()
в вашем коде. Если он используется для внедрения сторонних скриптов, попробуйте вместо этого использовать асинхронную загрузку .
Если сторонний код использует document.write()
, попросите поставщика поддержать асинхронную загрузку.