Middle
Kāda ir atšķirība starp <script>, <script async> un <script defer> tagiem?
sobes.tech AI
Atbilde no AI
<script>: HTML analīze apstājas, skripts tiek ielādēts un izpildīts, pēc tam HTML analīze atsākas. Bloķē renderēšanu.<script async>: Skripts tiek ielādēts asenhroni, paralēli ar HTML analīzi. Tiklīdz skripts ir ielādēts, HTML analīze tiek pārtraukta, lai izpildītu skriptu, pēc tam tā atsākas. Asinhrono skriptu izpildes secība nav garantēta.<script defer>: Skripts tiek ielādēts asenhroni, paralēli ar HTML analīzi. Izpilde tiek atlikta līdz pilnīgai HTML analīzes un DOM būves pabeigšanai. Atlikto skriptu izpildes secība tiek saglabāta atbilstoši to secībai dokumentā.
Šeit ir tabula, kas apkopo atšķirības:
| Īpašība | Ielāde | Izpilde | Bloķē HTML analīzi | Skriptu secība |
|---|---|---|---|---|
| nav | Sinhrona | Nekavējoties pēc ielādes | Jā | Garantēta |
async |
Asinhrona | Nekavējoties pēc ielādes (ja HTML vēl tiek analizēts) | Jā (izpildes laikā) | Nav garantēta |
defer |
Asinhrona | Pēc pilnas HTML ielādes un DOM būves | Nē (izpildes laikā, bet pēc HTML) | Garantēta |