Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как сократить структуру DOM?

Как сократить структуру DOM?


     07.01.2021    dom, СЕО    Все вопросы » Общие вопросы по PHP    163

вопрос
добрый день, знатоки

при проверке сайта на pagespeed от гугла выходит структура dom
задаю вопрос так как незнаю что такое dom и как работает
Как сократить структуру DOM?

Ответа пока нет


14 комментариев

леший
Эксперт

леший - 7 января 2021 03:27 -


Глубина вложенности 17. То есть только на отрисовку данной ссылки браузер потратит примерно 170 миллисекунд. Я даже представить себе не могу, что там можно так глубоко вкладывать.
 body => header => section => div => nav => ul => li =>a
Это при самом худшем раскладе седьмой уровень вложенности, ну максимум ещё два уровня, если в li вложить ещё один ul, но это уже потолок...

Pringles
Юзер

Pringles - 7 января 2021 07:54 -

Ты не прав, не забывай что есть такие вещи как обертка в контейнеры или те же сетки. Пример тому бутстрап или материал, хочешь или нет, ты получишь большую вложенность в зависимости от сложности макета или базовых контейнеров фреймворков. А по существу вопроса сократить можно не отдавая дом сразу, а подгружая по мере необходимости по Ajax

леший
Эксперт

леший - 7 января 2021 15:09 -

А div между section и nav это по Вашему что? Это и есть обёртка в контейнер.

Pringles
Юзер

Pringles - 7 января 2021 15:19 -

Я даже не знаю какой должен быть случай чтобы ваша схема работала.
В основном как пример схема такая, к примеру на бутстрап:
body -> div.container -> .header -> div.row -> div.col.lg-6 -> div.row -> div.lg-3 -> ul-> li -> ul > li > a
И это самый простой вариант...

леший
Эксперт

леший - 7 января 2021 15:34 -

Даже в Вашем примере уровень вложенности 11 и то, даже Ваш случай можно сократить до 9-го уровня вложенности. А если Вы даже не знаете в каком случае представленная мной схема будет работать, значит Вы никогда не верстали вручную, без использования различных фреймворков, где куча лишнего кода, который не используется в 95% случаев.

Pringles
Юзер

Pringles - 7 января 2021 15:54 -

Безполезно что-то доказывать. Каждый при своем суждении.

redissx
Юзер

redissx - 7 января 2021 20:42 -

Цитата: леший
Глубина вложенности 17. То есть только на отрисовку данной ссылки браузер потратит примерно 170 миллисекунд.

Откуда данные и как считать? А 10 ссылок 170*10 = 1.7 секунд? Поясните как считать, пожалуйста.

леший
Эксперт

леший - 8 января 2021 01:49 -

На отрисовку каждого уровня вложенности браузер тратит 10 миллисекунд, чем больше у Вас блоков с глубоким уровнем вложенности, тем дольше будет грузиться Ваш сайт, это очень заметно на слабых ПК/ноутбуках, а так же на мобильных девайсах. Например Google Chrome на моём телефоне виснет уже при уровне вложенности 500 (плюс-минус 30 уровней). Если интересно, то можете поэкспериментировать

Rudoy
Юзер

Rudoy - 8 января 2021 02:33 -

Дотянул до 653, кто больше? :D

redissx
Юзер

redissx - 11 января 2021 14:12 -

Откуда информация что "На отрисовку каждого уровня вложенности браузер тратит 10 миллисекунд"? Если бы это было так, если бы браузер тратил фиксированное время на один уровень, то тогда бы смартфон любой мощности получается отрисовывал одно и то же одинаковое время, но ведь это не так.

doom45
Юзер

doom45 - 7 января 2021 18:22 -

Норм это "Максимальная глубина вложенности DOM 17". Лучше уменьшить общее кол-во

Rudoy
Юзер

Rudoy - 8 января 2021 02:30 -


Хе хе, у меня то же самое, ничего критичного, в основном проблема из за рейтинга

To3ls
Юзер

To3ls - 8 января 2021 13:54 -

Используйте xhr , подгружайте (дорисовка) блоки(ов) . Смотрите чтобы теги были закрыты.

Rudoy
Юзер

Rudoy - 9 января 2021 14:51 -

Вот кстати я писал выше что у меня тоже вложеность 16. Тег был не закрыт)))

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх