Sobes.tech
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 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