Sobes.tech
Middle

Kuo skiriasi <script>, <script async> ir <script defer> žymės?

sobes.tech AI

Atsakymas iš AI

  • <script>: HTML analizė sustoja, skriptas įkeliama ir vykdoma, tada HTML analizė atnaujinama. Blokuoja atvaizdavimą.
  • <script async>: Skriptas įkeliama asinchroniškai, paraleliai su HTML analize. Kai tik skriptas įkeltas, HTML analizė sustoja, kad būtų vykdomas skriptas, tada tęsiama. Asinchroninių skriptų vykdymo tvarka nėra garantuota.
  • <script defer>: Skriptas įkeliama asinchroniškai, paraleliai su HTML analize. Vykdymas atidedamas iki visiško HTML analizės ir DOM kūrimo pabaigos. Atidėto skripto vykdymo tvarka išlaikoma pagal jų tvarką dokumente.

Štai lentelė, apibendrinanti skirtumus:

Ypatybė Įkėlimas Vykdymas Blokuoja HTML analizę Skriptų tvarka
nėra Sinchroninis Iš karto po įkėlimo Taip Garantija
async Asinchroninis Iš karto po įkėlimo (jei HTML vis dar analizuojama) Taip (vykdymo metu) Nėra garantuota
defer Asinchroninis Po visiško HTML įkėlimo ir DOM kūrimo Ne (išskyrus vykdymo momentą, bet po HTML) Garantija

Ši lentelė apibendrina skirtumus.