Middle
Ի՞նչ տարբերություն կա <script>, <script async> և <script defer> թեգերի միջև։
sobes.tech AI
Պատասխան AI-ից
Նորմալ <script>: բրաուզերը կանգնեցնում է HTML-ի վերլուծությունը, բեռնում և կատարում է սցենարը, ապա շարունակում վերլուծությունը։ Բլոկավորում է ցուցադրումը:
<script async>: սցենարը բեռնում է ասինխրոն, HTML-ի վերլուծությունը շարունակվում է։ Սցենարը անմիջապես բեռնելուց հետո կատարվում է և կարող է խանգարել HTML-ի վերլուծությանը։ Սցենարների կատարման կարգը երաշխավորված չէ:
<script defer>: սցենարը բեռնում է ասինխրոն, HTML-ի վերլուծությունը շարունակվում է։ Սցենարի կատարմանը սպասում է մինչև HTML-ի վերլուծության և DOM ծառի կառուցման ավարտը։ Սցենարները կատարվում են HTML-ում հայտնվելու կարգով:
| Ատրիբուտ | HTML վերլուծություն | Սցենարի բեռնում | Սցենարի կատարմա | Կարգի կախվածություն |
|---|---|---|---|---|
| բացակայում | Դադարեցում | Բլոկավորող | Բլոկավորող | Գերաշխավորված |
async |
Շարունակվում է | Չի բլոկավորում | Կարող է խանգարել վերլուծությանը | Չգերաշխավորված |
defer |
Շարունակվում է | Չի բլոկավորում | HTML վերլուծությունից հետո | Գերաշխավորված |