Что происходит после получения script в разметке

Ответ

Когда браузер получает <script>, он приостанавливает парсинг HTML и начинает загрузку (если src указан) и выполнение скрипта. По умолчанию скрипты блокируют рендеринг.

Атрибуты, влияющие на поведение:

  • async – скрипт загружается асинхронно и выполняется сразу после загрузки, не блокируя парсинг.
  • defer – скрипт загружается асинхронно, но выполняется после полного парсинга HTML, перед DOMContentLoaded.

Пример:

<script src="app.js" defer></script> <!-- выполнится после DOM -->
<script src="analytics.js" async></script> <!-- выполнится при готовности -->

Важно: инлайновые скрипты (<script>код</script>) выполняются мгновенно, если нет атрибутов async/defer.