Sobes.tech
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 -->