Що таке надмірно великий розмір DOM?

Що таке надмірно великий розмір DOM?

DOM (об'єктна модель документа) це загальна назва деревоподібної структури тегів HTML. Його вплив на швидкість сторінки такий, що чим складнішою є ваша структура HTML під час відтворення сторінки, тим повільнішою буде ваша сторінка.

За словами Lighthouse, складність в Структура DOM вимірюється за допомогою трьох показників. Щоб надати ці показники з їх контрольними точками:

  • Загальна кількість тегів має бути менше, ніж 1500
  • Максимальна глибина мітки має бути менше, ніж 32
  • Має бути максимальна кількість дочірніх тегів менше, ніж 60

У наведеному вище прикладі загальна кількість тегів незадовільна, максимальна глибина тегів задовільна, але максимальна кількість дочірніх тегів задовільна.

Оптимізація елементів DOM – це повна відповідальність зацікавленої сторони інтерфейсу. Кожен тег, обраний випадковим чином або довільно під час першого створення коду сторінки, має вартість після завершення проекту. Тому ми запрошуємо всіх фронтенд-розробників хвилиною мовчання та відкрити очі.

Точки, де роздутий DOM негативно впливає на продуктивність сторінки, включають:

  • Сторінки з великою кількістю вузлів (тегів) будуть відчувати перевантаження мережі та труднощі завантаження через їх великий розмір, таким чином збільшуючи TTFB (час до першого байта).
  • Рендеринг завантажених вузлів для створення їхні позиції та стилі потребують часу, таким чином збільшуючи FCP (First Contentful Paint).
  • У міру збільшення кількості вузлів необхідне навантаження с Маніпуляції JavaScript навантажують пам'ять, збільшення TFT (Time to Interactive).

Щоб проілюструвати оптимізацію DOM на дуже простому прикладі, розглянемо наступне, де і кількість, і глибина DOM зменшуються:

<div id="nav-element">
 <ul>
 </ul>
</div>

Замість цього:

<ul id="nav-element">
</ul>

Це необхідно зробити: Два найбільш рекомендованих методу зменшення розміру DOM – це відкладене завантаження та розбиття на сторінки. Оскільки структури карток на сторінках зі списком містять багато DOM, пропонується нескінченне прокручування або розбивка на сторінки. Вирішуючи кількість елементів у розбивці на сторінки, обов’язково слід враховувати критерії вимірювання DOM. Зазвичай розглядається час кількість товарів у пагінації 15-20 секунд, але ця частина насправді має бути розрахована на стороні зацікавленої сторони інтерфейсу, враховуючи розмір DOM.

Одне з дуже простих рішень — не додавати елементи які не видно на сторінці в HTML, не приховуючи їх за допомогою CSS. Якщо елемент потрібно відобразити, його слід викликати пізніше та показати користувачеві. Ви повинні знати, що приховування елементів за допомогою CSS збільшує DOM.

джерела:


Статті по темі

Magnify: Масштабування інфлюенсер-маркетингу з Енгіном Юртдакулом

Перегляньте наш тематичний аналіз Microsoft Clarity

Ми відзначили Microsoft Clarity як продукт, створений з урахуванням практичних випадків використання в реальних умовах реальними розробниками, які розуміють проблеми, з якими стикаються такі компанії, як Switas. Такі функції, як кліки, що викликають гнів, та відстеження помилок JavaScript, виявилися безцінними для виявлення невдоволення користувачів та технічних проблем, що дозволило цілеспрямовано покращити роботу, що безпосередньо вплинуло на взаємодію з користувачем та коефіцієнти конверсії.