Sobes.tech
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 վերլուծությունից հետո Գերաշխավորված