Переход по ссылкам в постах и возврат вызывает неверную высоту поста

Привет :waving_hand:

Если я нажимаю на встроенную ссылку в сообщении темы и возвращаюсь обратно к теме, то высота сообщений рассчитывается неверно (становится выше).

Шаги воспроизведения:

  1. Перейдите, например, в эту тему: Do we need a help button on the composer? - #13 by Don

  2. Нажмите на ссылку в этой теме: New User Tips

  3. Вернитесь к этой теме с помощью навигации браузера или нативной навигации ОС. Или нажмите на ссылку «назад» под сообщением.


В режиме рабочего стола

В мобильном режиме

Спасибо :slightly_smiling_face:

7 лайков

Странная ошибка, с которой я столкнулся. Я могу воспроизвести её, но не знаю точных условий её возникновения.

  1. Откройте короткую(?) тему.

  2. Нажмите на уведомление (или другую ссылку?), которое переводит вас в длинную(?) тему.

  3. Вернитесь к предыдущей теме с помощью браузера.

  4. Страница короткой темы становится слишком высокой, с преимущественно пустым содержимым.

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

Это происходит только на мобильных устройствах (Chrome на Android, Chrome Desktop в мобильном режиме).

1 лайк

Привет :wave:

Думаю, это имеет отношение к делу: Clicking on links in posts and go back makes incorrect post height

Кажется, я нашёл закономерность в этой ошибке. Это лишь моя гипотеза, и я не уверен, что именно так всё происходит. :slightly_smiling_face:

Когда вы нажимаете «Назад», сохраняется высота следующих постов предыдущей темы (по-моему, это видно визуально только если они выше):thinking:

Давайте уточню, что я имею в виду.

Я открыл две темы для демонстрации.

Первая тема

Вторая тема

Я перешёл из первой темы во вторую, а затем вернулся назад. Что произошло? Посты первой темы стали выше, как показано в видео здесь: Clicking on links in posts and go back makes incorrect post height

Теперь проверю посты в первой теме. Вот один из них.

Ему присваивается вычисленное значение min-height.

Как я вижу, здесь расчёт этого значения выполняется корректно и используется атрибут post-id:

Итак, давайте проверим post-id и посмотрим, что происходит.

В первой теме у поста post-id равен 12.

Во второй теме нам нужно найти пост с post-id 13. Вот он.

Кажется, высота содержимого этого поста добавляет пустое пространство к 12-му посту первой темы.

Как я вижу, это происходит только при использовании слайдера загрузки. Я не уверен, что именно происходит (но, возможно, это связано с тем, что слайдер загрузки удерживает страницу открытой при возврате на предыдущую страницу), и начинает расчёт min-height во второй теме. А когда я возвращаюсь в первую тему, этот расчёт добавляется к фактической высоте постов.

4 лайка

Ой, я мог бы поискать! :sweat_smile:
Я объединил посты, спасибо!

И отличная работа детектива тоже :chefs_kiss:

4 лайка

Это всё ещё происходит?

1 лайк

Нет, у меня всё отлично работает. :slight_smile:

1 лайк