شاهین

زمان DOMContentLoaded

پیشرفته
به‌روزرسانی ۲۰ تیر ۱۴۰۵ تحریریه شاهین ۲ دقیقه مطالعه
تلفظEN/ˌdiː oʊ ɛm ˈkɑːntɛnt ˈloʊdɪd/

زمان DOMContentLoaded مدتی است که طول می‌کشد تا مرورگر کد HTML صفحه را کامل بخواند و درخت DOM را بسازد، بدون اینکه لزوما تصاویر و منابع خارجی بارگذاری شده باشند.

این متریک مرز «اسکلت صفحه آماده شد» را نشان می‌دهد و با رویداد load فرق دارد: load وقتی است که همه چیز از جمله تصاویر آمده باشد، اما DOMContentLoaded فقط ساخت ساختار سند را می‌سنجد. ارزشش این است که سهم پارس‌کردن HTML و اجرای اسکریپت‌های اولیه را عیان می‌کند؛ اگر این زمان بالاست، معمولا مقصر یا حجم سنگین HTML است یا اسکریپت‌های بلاک‌کننده که پیش از تمام‌شدن پارس اجرا می‌شوند. تله رایج این است که این عدد از شروع ناوبری شمرده می‌شود، پس زمان شبکه و سرور را هم در خود دارد؛ برای دیدن سهم خالص فرانت‌اند باید زمان تا اولین بایت را از آن کسر کرد. مثل هر متریک زمانی چوله، خواندنش با صدک هفتادوپنجم درست‌تر از میانگین است.

چطور محاسبه می‌شود؟

زمان DOMContentLoaded = لحظه آماده‌شدن درخت DOM − زمان شروع ناوبری

خروجی یک زمان است و چون از شروع ناوبری شمرده می‌شود، شبکه و سرور را هم دربردارد. قضاوت درست روی صدک هفتادوپنجم بازدیدها انجام می‌شود.