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.