Приоритет/Серьезность: Низкий.
Платформа: Подтверждено в Firefox 127.0 на Windows 10 и Chrome 125.0.6422.165 на Android 14.
Описание: См. ниже.
Шаги для воспроизведения: Загрузите изображение с разрешением 690×500 пикселей или меньше, а затем либо измените его размер вручную (например, ), либо поместите его в [grid] (например, [grid]  [/grid]).
Ожидаемое поведение
Согласно задумке, функция лайтбокса в Discourse должна работать следующим образом: если изображение уменьшено для размещения в посте, оно должно открываться в лайтбоксе, чтобы его можно было кликнуть и просмотреть в полном разрешении.
Проблема
В текущей реализации есть ошибка: система сравнивает исходное разрешение изображения только с настройками «максимальной ширины» и «максимальной высоты» сайта (по умолчанию 690×500 пикселей), игнорируя ручное изменение размера и сетки изображений. Это приводит к тому, что уменьшенные изображения могут не открываться в лайтбоксе, если их размеры меньше [макс. ширина]×[макс. высота].
Ручное изменение размера[1]
Ниже приведен пример сбоя работы лайтбокса при ручном уменьшении изображений — наведите курсор на следующие изображения, и вы увидите, что лайтбокс применяется некорректно; кликните на изображение, открывающееся в лайтбоксе, и вы заметите, что некоторые из них не отображаются при нажатии стрелок влево или вправо:[2]
Сетки изображений
Проблема в сетках изображений заключается в том, что они практически всегда изменяют размер изображений, а часто даже обрезают их, что становится проблемой, когда затем невозможно кликнуть по ним для просмотра полного изображения.
Решение
nОбновленное предлагаемое решение можно найти в обсуждении ниже.
Изначально предложенное решение…
Решение заключается в обеспечении следующего:- Лайтбокс должен сравнивать размер изображения на странице с его исходным разрешением, и
- Изображения в сетках всегда должны открываться в лайтбоксе.
Насколько я понимаю, работа лайтбоксов выполняется на стороне клиента, поэтому, по моему мнению, это не должно быть чрезмерно сложно, по крайней мере!
Эта часть проблемы уже упоминалась на форуме в теме, где был сделан вывод о решении, во многом аналогичном предложенному здесь. ↩︎
Изначально это вызывало значительные проблемы с форматированием из-за отдельно сообщенной мною проблемы, но на момент редактирования этого поста и написания этой части она уже была исправлена. ↩︎









