Страницы

Поиск по вопросам

вторник, 16 июля 2019 г.

Как получить гарантированно верную высоту страницы? documentElement.offsetHeight и getBoundingClientRect() работают не всегда корректно

Столкнулся с проблемой:
На некоторых страницах document.documentElement .offsetHeight и .getBoundingClientRect() возвращают не полную высоту страницы, а фактически клиентскую часть окна.
При изменении размера окна указанные показатели меняются
Пробовал body вместо documentElement - то же самое.
При этом есть элементы, которые по данным getBoundingClientRect имеют больший размер.
Браузер Firefox.
Как можно решить проблему?


Ответ

Как всегда, как только задам вопрос в сети, ответ находится сам...
Нужно использовать document.documentElement.scrollHeight, а лучше для надежности выбирать максимальный показатель:
Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight )

Комментариев нет:

Отправить комментарий