Sobes.tech
Middle

Jaký je rozdíl mezi tagy <script>, <script async> a <script defer>?

sobes.tech AI

Odpověď od AI

Obvyklý <script>: prohlížeč zastaví parsování HTML, načte a spustí skript, poté pokračuje v parsování. Blokuje zobrazení.

<script async>: skript se načítá asynchronně, parsování HTML pokračuje. Skript se spustí ihned po načtení a může přerušit parsování HTML. Pořadí spuštění skriptů není garantováno.

<script defer>: skript se načítá asynchronně, parsování HTML pokračuje. Spuštění skriptu je odloženo do doby, kdy je dokončeno parsování HTML a je postavena DOM struktura. Skripty se spouštějí v pořadí, ve kterém jsou v HTML.

Atribut Parsování HTML Načítání skriptu Spuštění skriptu Závislost na pořadí
Chybí Zastaví Blokující Blokující Zaručeno
async Pokračuje Neblokující Může přerušit parsování Není garantováno
defer Pokračuje Neblokující Po parsování HTML Zaručeno