Middle
<script>, <script async> ve <script defer> etiketleri arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
<script>: HTML ayrıştırması durur, script yüklenir ve çalıştırılır, ardından HTML ayrıştırması devam eder. Render bloklar.<script async>: Script asenkron olarak yüklenir, HTML ayrıştırmasıyla paralel olarak. Script yüklendiğinde, HTML ayrıştırması durdurulur, script çalıştırılır ve sonra devam eder. Asenkron scriptlerin çalışma sırası garanti edilmez.<script defer>: Script asenkron olarak yüklenir, HTML ayrıştırmasıyla paralel. Çalıştırma, HTML ve DOM ağacının tamamen oluşturulmasından sonra ertelenir. Ertelenmiş scriptlerin çalışma sırası, belge içindeki sırasına göre korunur.
İşte farkları özetleyen bir tablo:
| Öznitelik | Yükleme | Çalıştırma | HTML ayrıştırmasını engelleme | Script sırası |
|---|---|---|---|---|
| yok | Senkron | Yükleme sonrası hemen | Evet | Garantili |
async |
Asenkron | Yükleme sonrası hemen (eğer HTML hâlâ ayrıştırılıyorsa) | Evet (çalışma sırasında) | Garantili değil |
defer |
Asenkron | HTML ve DOM tam olarak yüklendikten sonra | Hayır (sadece çalıştırma sırasında, ama HTML sonrası) | Garantili |