Sobes.tech
Junior

Skriptlər adətən niyə body etiketinin sonunda qoşulur?

sobes.tech Süni İntellekt

AI-dan cavab

Səhifənin renderlənməsinin bloklanmaması və DOM elementlərinə onların yüklənməsindən dərhal sonra girişin təmin edilməsi üçün.

<head> və ya <body>-nin əvvəlində async və ya defer atributları olmadan skriptlərin qoşulması, brauzerin HTML-in analizini və səhifənin renderlənməsini dayandırır, skript yüklənib icra olunana qədər. Bu, saytın görünən performansını yavaşladır.

<body>-nin sonunda qoşulması, DOM ağacının artıq tam formalaşdığını təmin edir və skript icra olunarkən elementlərlə birbaşa qarşılıqlı əlaqəyə imkan verir, yalnız DOMContentLoaded və ya load kimi hadisə idarəedicilərindən istifadə etməyə ehtiyac olmadan.

asyncdefer atributları, HTML-in analizini bloklamadan skriptlərin yüklənməsi üçün daha çevik və müasir alternativlərdir:

  • async: Skript asinxron yüklənir və yükləndikdən sonra dərhal icra olunur, DOM tam yüklənməsini gözləmədən. Asinxron skriptlərin icra sırası təmin edilmir.
  • defer: Skript asinxron yüklənir və HTML tam analiz edildikdən sonra, DOMContentLoaded hadisəsindən əvvəl icra olunur. defer ilə yüklənmiş skriptlər, onların sənəddə görünmə ardıcıllığında icra olunur.