@Deerol

Зависит ли последовательность прорисовки сайта от асинхронной загрузки?

Здравствуйте.

При анализе сайта https://lampsaz.ua/ я обнаружил, что у него корявая последовательность прорисовки, то есть, видно как сайт "собирается" по-частям - https://imgur.com/a/ivZznV8

Попросил программиста, чтобы он пофиксил последовательность прорисовки, а он мне говорит, что проблема в асинхронной загрузки сайта, которую лучше не отключать.

Так как я не являюсь программистом, подскажите, зависит ли последовательность прорисовки от асинхронной загрузки? Потому что, как я понимаю, асинхронная загрузка наоборот нужна для того, чтобы пользовательский контент быстрее грузился. И исправится ли прорисовка сайта, после отключения асинхронной загрузки?

По прорисовке, мне нравится как грузятся сайты: https://apple.com, https://htmlacademy.ru/.
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 3
@kadurinho
Расскажите вашему программисту про критический css, который должен быть загружен до отображения контента
Ответ написан
@Mysterion
Да, зависит. Браузер читает сайт сверху вниз. Стили и скрипты именно в таком порядке загружаются, в каком они прописаны. Прежде чем начать загружать скрипт или стиль, браузер ждет, пока загрузится предыдущий. А если загрузка асинхронная, то браузер не будет ждать и будет просто по списку добавлять в отдельный поток загрузку всех найденных стилей без ожидания. И загружаться будет в таком порядке, в каком загрузится каждый из стилей. Какой быстрее загрузился, тот быстрее и обработался.

Вам следует вынести вверх особо необходимые для прорисовки стили и скрипты, подгружать их синхронно, а остальные асинхронно. Остальные - это те, в которых нет необходимости сразу. Те, без которых сайт не будет "белой портянкой".
Ответ написан
Комментировать
dollar
@dollar
Делай добро и бросай его в воду.
CSS стили и некоторые скрипты лучше загружать синхронно. На скорость влияет, но не сильно. Зависит от того, куда ведут ссылки. Если это известные библиотеки, то они закэшированы и практически не влияют на скорость. Если css файлы грузятся с того же сайта с keep-alive, то влияния на скорость тоже практически нет.

Всё "необязательное" типа блоков промо, рекламы, какой-то сложной инфы, которую нужно сначала собрать на сервере, можно и асинхронно вливать в уже загруженный сайт. А меню и ключевой контент - лучше синхронно, а еще лучше не сильно распихивать по файлам на разных сайтах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы