Sobes.tech
Middle

<script>, <script async> жана <script defer> тегдеринин айырмасы эмнеде?

sobes.tech AI

AIден жооп

  • <script>: HTMLдин талдоо токтоп калат, скрипт жүктөлүп жана ишке ашырылат, андан соң HTMLдин талдоосу улантылат. Рендерингди блоктойт.
  • <script async>: Скрипт асинхрон түрдө жүктөлөт, HTMLдин талдоосу менен бирге. Скрипт жүктөлгөндө, HTMLдин талдоосу токтотулат, скрипт ишке ашырылат жана андан соң улантылат. Асинхрон скрипттердин ишке ашыруу тартиби кепилденбейт.
  • <script defer>: Скрипт асинхрон түрдө жүктөлөт, HTMLдин талдоосу менен бирге. Ишке ашыруу толук HTML жана DOM куруу аяктагандан кийин кечиктирилет. Кечиктирилген скрипттердин ишке ашыруу тартиби документтеги тартибинде сакталат.

Мына айырмачылыктарды кыскача чогулткан таблица:

Өзгөртүү Жүктөө Ишке ашыруу HTML талдоосун блоктоо Скрипттердин тартиби
жок Синхрондуу Жүктөөдөн кийин дароо Ооба Гарантияланган
async Асинхрон Жүктөөдөн кийин дароо (эгер HTML дагы талданып жатса) Ооба (аткаруу учурунда) Гарантияланбаган
defer Асинхрон Толук HTML жүктөлүп, DOM куруу аяктагандан кийин Жок (аткаруу учурунда гана, бирок HTMLден кийин) Гарантияланган