Sobes.tech
Middle

Mis vahe on <script>, <script async> ja <script defer> siltide vahel?

sobes.tech AI

Vastus AI-lt

  • <script>: HTML-i analüüs peatub, skript laaditakse ja tööle, siis jätkub HTML-i analüüs. Blokeerib renderdamise.
  • <script async>: Skript laaditakse asünkroonselt, paralleelselt HTML-i analüüsiga. Kui skript on laaditud, peatub HTML-i analüüs, et skript tööle panna, siis jätkub. Asünkroonsete skriptide täitmise järjekord ei ole garanteeritud.
  • <script defer>: Skript laaditakse asünkroonselt, paralleelselt HTML-i analüüsiga. Täitmine lükatakse edasi kuni HTML-i täieliku analüüsi ja DOM-i ehitamiseni. Lükatud skriptide järjekord säilitatakse vastavalt nende järjekorrale dokumendis.

Siin on tabel, mis kokkuvõtlikult kirjeldab erinevusi:

Omadus Laadimine Täitmine HTML-i analüüsi blokeerimine Skriptide järjekord
puudub Sünkroonne Kohe pärast laadimist Jah Garantii
async Asünkroonne Kohe pärast laadimist (kui HTML veel analüüsitakse) Jah (täitmise ajal) Ei garanteeritud
defer Asünkroonne Pärast HTML-i täielikku laadimist ja DOM-i ehitamist Ei (välja arvatud täitmise ajal, kuid pärast HTML-i) Garantii

See tabel kokkuvõtlikult kirjeldab erinevusi.