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.
async və defer 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,DOMContentLoadedhadisəsindən əvvəl icra olunur.deferilə yüklənmiş skriptlər, onların sənəddə görünmə ardıcıllığında icra olunur.