Sobes.tech
Middle

Каква е разликата между таговете <script>, <script async> и <script defer>?

sobes.tech AI

Отговор от AI

Обикновен <script>: браузърът спира анализа на HTML, зарежда и изпълнява скрипта, след което продължава анализа. Блокира показването.

<script async>: скриптът се зарежда асинхронно, анализът на HTML продължава. Скриптът се изпълнява веднага след зареждане и може да прекъсне анализа на HTML. Поръчката на изпълнение на скриптовете не е гарантирана.

<script defer>: скриптът се зарежда асинхронно, анализът на HTML продължава. Изпълнението на скрипта се отлага до завършване на анализа на HTML и изграждането на DOM дървото. Скриптовете се изпълняват в реда им на появяване в HTML.

Атрибут Анализ на HTML Зареждане на скрипта Изпълнение на скрипта Зависимост от реда
Липсва Спира Блокиращ Блокиращ Гарантирано
async Продължава Не блокиращ Може да прекъсне анализа Не гарантирано
defer Продължава Не блокиращ След анализа на HTML Гарантирано