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 | Гарантирано |