@KiBiLizard

Firefox отображает не весь DOM, от чего это может быть?

Суть приложения кратенько:
  • есть ооочень большой файл с текстом который надо отобразить
  • для удобства файл разбит на 999 чанков
  • чанки подгружаются по необходимости
  • в браузере для отображения правильной высоты штатного скроллбара есть все 999 чанков
  • не загруженные - пустые div'ы с установленной стилем высотой равной среднему от высоты уже загруженных чанков

Все это дело прекрасно работает в Chrome и Opera, есть свои огрехи в ie и edge, но вот в mozilla firefox 66.0.3 работает очень странно - в окне отображается только чуть больше половины выстроенного DOM.

5caf5e423714d010602936.png
на картинке видно - последняя строка есть и выделена (отработало нажатие end), скроллбар в самом низу, однако строка за пределами скроллбара

5caf5e95ae3f6598437534.png
здесь мы видим так же что скроллбар в самом низу, но за ним судя по DOM еще куча блоков с высотой более 20000px.

5caf621e91258080930060.png
Здесь можно увидеть что никаких стилей у блоков родителей нет, нет ничего что могло бы спровоцировать урезание отображения. Однако вот высота контейнера очень странная, во всплывающем окошке блока от инспектора она правильная, а вот в вычисленном стиле - почти вдвое меньше, причем она из кода вообще нигде не меняется, контейнер используется только для вставки в него div'ов чанков.

То есть весь JS работает правильно, приложение прекрасно работает в отображенной части, даже кнопка end которая выделяет последнюю строку последнего чанка.. DOM тоже выстроен правильно и я даже не знаю какие куски кода сюда прикладывать, если нужно - вот ссылка на репо: https://github.com/kibilizard/TryLasyLoadInJS
Я ума не приложу отчего такое вообще может быть? может кто-нибудь сталкивался, или может хотя бы дать направление куда копать?
  • Вопрос задан
  • 98 просмотров
Решения вопроса 2
@KiBiLizard Автор вопроса
Для справки все-таки напишу.
Лимиты браузеров по высоте обнаружила примерно такие:
Crome и Opera - 33 554 400 px
Firefox - примерно 17 660 130 px - это высота после которой отображение начинает лагать, до этого работает нормально
Edge и IE - примерно 5 000 037 px - объекты ниже этой точки просто не отображает, хотя они фактически есть в DOM
Может быть еще как-то зависит от версий, у меня проверялось в
  • Chrome 73.0.3683.103,
  • Opera 58.0.3135.127,
  • FF 66.0.3,
  • Edge 44.17763.1.0,
  • IE 11.437.17763.0
Ответ написан
Комментировать
RAX7
@RAX7
Проверь на другом компе. У меня в ФФ кнопочка "показать все 999 узлов" появляется.
spoiler
5caf67debd76d208335503.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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