Middle
20
0
questionbank

Какая разница между <script>, <script async> и <script defer>?

Answer from sobes.tech neural network

При использовании обычного тега <script> браузер прерывает парсинг HTML, загружает и выполняет скрипт, после чего продолжает парсить.

<script async> загружает скрипт параллельно с парсингом HTML. Выполнение скрипта происходит сразу после его загрузки и перед завершением парсинга. Порядок выполнения асинхронных скриптов не гарантирован.

<script defer> также загружает скрипт параллельно с парсингом HTML. Выполнение скрипта откладывается до полного завершения парсинга HTML. Скрипты с defer выполняются в порядке их следования в документе.

АтрибутПарсинг HTMLЗагрузка скриптаВыполнение скриптаЗависимость от порядка
<script>ПриостанавливаетсяБлокируетБлокируетДа
<script async>ПродолжаетсяНе блокируетНе блокируетНет
<script defer>Продолж

При использовании обычного тега <script> браузер прерывает парсинг HTML, загружает и выполняет скрипт, после чего продолжает парсить.

<script async> загружает скрипт параллельно с парсингом HTML. Выполнение скрипта происходит сразу после его загрузки и перед завершением парсинга. Порядок выполнения асинхронных скриптов не гарантирован.

<script defer> также загружает скрипт параллельно с парсингом HTML. Выполнение скрипта откладывается до полного завершения парсинга HTML. Скрипты с defer выполняются в порядке их следования в документе.

АтрибутПарсинг HTMLЗагрузка скриптаВыполнение скриптаЗависимость от порядка
<script>ПриостанавливаетсяБлокируетБлокируетДа
<script async>ПродолжаетсяНе блокируетНе блокируетНет
<script defer>Продолж

Register or sign in to get access to full answers for all questions from the question bank.

htmlinline-scriptasync-scriptdefer-scriptbrowser-rendering