Sobes.tech
Middle

<script>, <script async> va <script defer> teglari orasidagi farq nima?

sobes.tech AI

AIdan javob

Standart <script> tegi HTMLni tahlil qilishni to‘xtatadi, skriptni yuklab olib, uni bajaradi, so‘ngra tahlil davom etadi.

<script async> asinxron tarzda skriptni yuklaydi, HTML tahlili davom etayotgan paytda. Skript yuklab olingandan so‘ng darhol bajariladi. Bajarilish tartibi kafolatlanmagan.

<script defer> asinxron tarzda skriptni yuklaydi, HTML tahlili davom etayotgan paytda. Skript faqat HTML tahlili tugagach, lekin DOMContentLoaded voqeasi yuz berishidan oldin bajariladi. defer bilan yuklangan skriptlarning bajarilish tartibi HTMLda paydo bo‘lish tartibiga muvofiq saqlanadi.

Taqqoslash jadvali:

Atribut HTML tahlili skript yuklanayotgan paytda Skript bajarilishi Bajarilish tartibini saqlash
Yo‘q To‘xtatadi Yuklashdan keyin darhol Ha
async Davom etadi Yuklashdan keyin darhol (tahlilni to‘xtatishi mumkin) Yo‘q
defer Davom etadi HTML tahlili tugagach Ha

Misol:

<!-- Oddiy skript - tahlilni to‘xtatadi -->
<script src="script1.js"></script>

<!-- Asinxron skript - tahlilni to‘xtatmaydi, yuklashdan keyin darhol bajariladi -->
<script src="script2.js" async></script>

<!-- Kechiktirilgan skript - tahlilni to‘xtatmaydi, HTML tahlilidan so‘ng bajariladi -->
<script src="script3.js" defer></script>
<script src="script4.js" defer></script> <!-- script3.js dan keyin bajariladi -->