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

Привет :waving_hand:

Это давняя проблема, возникающая в теме, когда вы пытаетесь ввести что-либо в модальное поле ввода. Курсор всегда перемещается в начало страницы, что приводит к бесконечной загрузке до тех пор, пока не будет достигнут первый пост. Проблема сохраняется и в потоке постов Glimmer.

Это сильно затрудняет перемещение постов в другую тему, так как модальное окно также прыгает во время загрузки и других связанных с вводом процессов. Кроме того, это вызывает проблемы с новой функцией реакций в Discourse, которая открывает палитру эмодзи. При открытии палитры фокус автоматически устанавливается на поле поиска эмодзи, что приводит к тому же поведению: страница прокручивается в начало, а палитра эмодзи закрывается… Таким образом, проблема возникает, когда модальное поле ввода получает фокус.

Похоже, что эта проблема возникает только на iOS.

5 лайков

Странная проблема, я предполагаю, что мы всплываем события там, где не должны.

Возможно, у @saquetim есть какие-то идеи по этому поводу?

1 лайк

Какая у вас версия iOS, @don? Я несколько раз сталкивался с этой проблемой, но в последнее время не могу воспроизвести.

2 лайка

Сейчас у меня iOS 18.6.1, но я сталкивался с этим и на более старых версиях.

1 лайк

Привет :wave:

Кажется, я нашел причину этой проблемы.

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

Демо: Theme Creator

4 лайка

Интересно, не для того ли это было сделано, чтобы предотвратить ошибку в iOS, которая сейчас уже исправлена?

2 лайка

Этот код был добавлен только в октябре 2024 года.

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

1 лайк

У меня всё ещё появляется эта ошибка: в мобильном Safari элементы интерфейса скачут по экрану, что создаёт очень плохой пользовательский опыт на мобильных устройствах.

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

Надеюсь, это можно исправить.

Вот видео, на котором я прокручиваю тему снизу вверх.

Видео сжато, но именно так выглядит мерцание при прокрутке! Как вы можете заметить, при некоторых загрузках страницы всё скачет в разные стороны.

Это происходит на последней версии iOS 26.

Я один сталкиваюсь с такой проблемой?

(Я понимаю, что это немного не по теме, но это всё часть ужасного UX, с которым я сталкиваюсь в последнее время в мобильном Safari)

Я этого не вижу.

Но у меня iOS 18 на iPhone 16 Pro.

Нет, вы не одни. Я думаю, что это вот что:

Так что версия 26.1 должна помочь.

Я не уверен, что это исключительно проблема iOS 26, потому что всё уже давно работает неважно.

У меня iPhone 16 Pro. У меня было много подобных проблем. С появлением проблем в iOS 26 стало ещё хуже.

В последнее время я вижу, что ситуация ухудшается, а не улучшается.

Возможно, вы правы. На моем iPhone стоит версия 26, и никаких описанных симптомов нет. Но я никогда не сталкивался с такими симптомами ни на своем iPhone, ни на iPad с любой ОС.

Так что, скорее всего, проблема в устройстве, если только нет каких-то более конкретных деталей, отличающих вашу систему от моей :thinking:

1 лайк

Что в моем устройстве может быть причиной этого?!