Middle
<script>, <script async> və <script defer> etiketləri arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
<script>: HTML-in analizi dayanır, skript yüklənir və icra olunur, sonra HTML analizi davam edir. Render bloklanır.<script async>: Skript asinxron yüklənir, HTML analizi ilə paralel olaraq. Skript yükləndikdə, HTML analizi dayandırılır, skript icra olunur və sonra davam edir. Asinxron skriptlərin icra sırası təmin edilmir.<script defer>: Skript asinxron yüklənir, HTML analizi ilə paralel olaraq. İcra, HTML və DOM ağacının tam qurulmasından sonra təxirə salınır. Təxirə salınmış skriptlərin icra sırası sənəddəki ardıcıllığa uyğun saxlanılır.
Burada fərqləri ümumiləşdirən cədvəl:
| Xüsusiyyət | Yükləmə | İcra | HTML analizi bloklanması | Skriptlərin sırası |
|---|---|---|---|---|
| yox | Sinxron | Yükləmədən dərhal sonra | Bəli | Zəmanətlidir |
async |
Asinxron | Yükləmədən dərhal (əgər HTML hələ də analiz olunursa) | Bəli (icra zamanı) | Zəmanət edilmir |
defer |
Asinxron | HTML tam yükləndikdən və DOM qurulduqdan sonra | Xeyr (yalnız icra zamanı, amma HTML-dən sonra) | Zəmanətlidir |