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) | Гарантӣ дода мешавад |