Sobes.tech
Junior

Betikler genellikle neden body etiketinin sonunda bağlanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Sayfa renderlamasını engellemeden ve DOM öğelerine yükleme sonrası hemen erişim sağlamak için.

<head> veya <body> başlangıcına async veya defer öznitelikleri olmadan eklenen betikler, tarayıcının HTML'yi işlemesini ve sayfa renderını durdurur, ta ki betik yüklenip çalıştırılana kadar. Bu, sitenin görünür performansını yavaşlatır.

<body> sonunda ekleme, DOM ağacının zaten tamamen oluşturulmuş olduğunu garanti eder ve betik çalıştırıldığında doğrudan öğelerle etkileşime geçmeyi sağlar, sadece DOMContentLoaded veya load gibi olay işleyicileri kullanmaya gerek kalmadan.

async ve defer öznitelikleri, HTML işlemesini engellemeden betik yükleme konusunda daha esnek seçenekler sunan modern alternatiflerdir:

  • async: Betik asenkron olarak yüklenir ve yükleme sonrası hemen çalıştırılır, DOM tamamen yüklenmeden. Asenkron betiklerin çalışma sırası garanti edilmez.
  • defer: Betik asenkron olarak yüklenir ve HTML tam olarak çözümlendikten sonra, DOMContentLoaded olayından önce çalıştırılır. defer ile yüklenen betikler, belge içindeki sırasına göre çalıştırılır.