Middle
<script>, <script async> və <script defer> etiketləri arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Standart <script> etiketi HTML-nin analizini dayandırır, skripti yükləyir və icra edir, sonra analiz davam edir.
<script async> asinxron şəkildə skripti yükləyir, HTML analiz davam edərkən. Skript yükləndikdən sonra dərhal icra olunur. İcra sırası təmin edilmir.
<script defer> asinxron şəkildə skripti yükləyir, HTML analiz davam edərkən. Skript yalnız HTML analiz tamamlandıqdan sonra, amma DOMContentLoaded hadisəsi baş verməzdən əvvəl icra olunur. defer ilə yüklənmiş skriptlərin icra sırası HTML-dəki görünüşlərinə uyğun saxlanılır.
Müqayisəli cədvəl:
| Xüsusiyyət | HTML analiz skript yüklənərkən | Skriptin icrası | İcra sırasını qoruma |
|---|---|---|---|
| Yox | Dayandırır | Yükləndikdən sonra dərhal | Bəli |
async |
Davam edir | Yükləndikdən sonra dərhal (analizi poza bilər) | Xeyr |
defer |
Davam edir | HTML analiz tamamlandıqdan sonra | Bəli |
Nümunə:
<!-- Normal skript - analizə mane olur -->
<script src="script1.js"></script>
<!-- Asinxron skript - analizə mane olmur, yükləndikdən sonra dərhal icra olunur -->
<script src="script2.js" async></script>
<!-- Gecikdirilmiş skript - analizə mane olmur, HTML analizindən sonra icra olunur -->
<script src="script3.js" defer></script>
<script src="script4.js" defer></script> <!-- script3.js-dən sonra icra olunacaq -->