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 |