Вёрстка: Атрибуты async и defer для тега script

Атрибуты async и defer используются для управления загрузкой и выполнением скриптов.

Атрибут async указывает браузеру, что скрипт должен быть загружен асинхронно, то есть параллельно с загрузкой HTML-документа. Как только скрипт будет загружен, он будет выполнен немедленно. Это означает, что выполнение скрипта может произойти до того, как HTML-документ будет полностью загружен и обработан.

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

<script src="counter.js" async></script>

Атрибут defer указывает браузеру, что скрипт должен быть загружен асинхронно, но выполнен только после полной загрузки и обработки HTML-документа. В отличие от async, скрипты с атрибутом defer будут выполняться в том порядке, в котором они указаны в HTML, после завершения загрузки документа.

Атрибут defer полезен для скриптов, которые зависят от DOM или других скриптов, и должны выполняться только после полной загрузки страницы. Это включает в себя такие скрипты, как библиотеки JavaScript или любые другие скрипты, которые взаимодействуют с элементами DOM.

<script src="tool.js" defer></script>

Сравнение async и defer

Атрибут Загрузка скрипта Выполнение скрипта Порядок выполнения
async Асинхронно Немедленно после загрузки Не гарантирован
defer Асинхронно После полной загрузки документа В порядке появления в HTML
2.4 г. Просмотров: 683
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram