Почему бы не добавить раздел, где люди смогут выкладывать ИИ работы и прочие фотобаши. Типа как раздел для 3д моделирования и художников.
Да сделайте уже что нибудь против спама
Банально запрет ссылок в заголовке.
Запрет новичкам постить ссылки. Карантин 2 месяца после регистрации.
Сократить длину заголовка до 20 символов на уровне проверка ввода на стороне сервера (существующие заголовки можно оставить).
Blueprint
> Сократить длину заголовка до 20 символов на уровне проверка ввода на стороне сервера
Тогда названия тем будут очень информативными.
Blueprint
> существующие заголовки можно оставить
Спасибо хоть на этом.
Очередной раз люди пожаловались на недочет цитирования
Aroch
> прозрение: если выделить чей-то текст в сообщении, а цитирование сделать у другого сообщения, то подставиться ник автора того сообщения где была ссылка цитирования, в итоге все ложные цитирования на форуме это банальные промахи.
Как решение наименьшей кровью (хоть и костыльное) предлагаю добавить такую функцию и вызвать ее после полной загрузки страницы (например, в body.onload):
Добавить эту функцию, и вызвать ее после полной загрузки страницы (например, в body.onload).
Для уменьшения костыльности лучше в дивы заголовка сообщения и самого сообщения добавить какие-то специфичные HTML-классы, например, messageHeader и messageText, чтоб искать элементы по
classList.includes('messageHeader')вместо костыльного .classList.toString() != 'bound head'
и
classList.includes('messageText')вместо костыльного .classList.toString() != 'bound overflow'
И на ссылку с именем автора тоже добавить класс, например, messageAuthor, чтоб
messageHeaderElement.querySelector('.messageAuthor')вместо костыльного messageHeaderElement.querySelector('ul').querySelector('li').querySelector('a')
Dmitry_Milk
> document.querySelectorAll('.bound+.overflow')
Не, так не сработает. В сообщении может быть несколько .overflow. Вот даже в твоем сообщении выше, всё что после спойлера не попадёт в цикл.
Dmitry_Milk
> добавить какие-то специфичные HTML-классы, например, messageHeader и messageText
Да, этого не хватает. Раньше всё сообщение было в отдельном диве, сейчас не так.
entryway
> Не, так не сработает. В сообщении может быть несколько .overflow
"bound overflow". Ну так-то да, оказалось, спойлейр тоже содержит такой набор классов.
entryway
> Раньше всё сообщение было в отдельном диве, сейчас не так.
Я попробовал локально в дом добавить охватывающий див - верстка плывет, так что наверное обернуть сейчас все сообщение одним дивом будет слишком большим гемором.
А вот от добавления новых классовк на а-тег с именем автора и на дивы заголвка сообщения и самого содержимого верстка вроде не должна поплыть. А потом уже можно придумать наиболее оптимальную функцию, может быть даже не вешая никаких событий, а вытаскивая див из Selection, т.к. уже будет гарантия, что если на одной из родительских нод висит класс messageText - то мы однозначно внутри дива с содержимым сообщения, а если нет - значит выделено было за пределами какого-либо сообщения.
А вообще еще лучше нафиг хедер сообщения, вместо этого прямо внутри дива с содержимым сообщения невидимый input hidden (помеченный классом), у которого в value HTML-безопасное имя автора.
Dmitry_Milk
> Я попробовал локально в дом добавить охватывающий див - верстка плывет
Можешь продемонстрировать? Мне чат бот написал такой код:
Вроде ничего не плывет.
entryway
> Вроде ничего не плывет.
Что-то не то и вообще какая-то мистика. Попробовал применил твою функцию. Результат не тот получается (правда я не пойму, почему). Судя по логике твоего скрипта одним сообщением считаются все сиблинги начиная от одного div.bound.head вплоть до следующего (не включая, ну и у последнего до футера). Все они добавляются в див-обертку, и эта обертка добавляется в родительский узел перед следующим хедером.
Но по факту в обертку почему-то попадают только сиблинги после хедера, а сам хедер в обертку не попадает, а остается перед ней.
Я сам пробовал не скриптом, я просто руками в дереве покопался чрезе инспектор ДОМа, и у меня сообщение сместилось, когда и хедер и все последующие дивы были включены в див-обертку.
ААа, стоп, вижу, невнимательно посмотрел, скрип как раз так и делает. строчку
let node = head.nextSibling;
не заметил.
Dmitry_Milk
> Но по факту в обертку почему-то попадают только сиблинги после хедера, а сам хедер в обертку не попадает, а остается перед ней.
Ну я так и хотел. Заголовок отдельно (он и так сейчас отдельно), а весь html сообщения - в div.
Если надо вместе с заголовком (чат бот изначально так и понял), то надо поменять две строки
- let node = head.nextSibling; + let node = head; - head.parentNode.insertBefore(wrapper, end); + end.parentNode.insertBefore( wrapper, end);
Нда, не уплыло :) Ну значит я руками в доме что-то криво сделал :) Ну тогда действительно, можно.
Хотя если просто внутри дива с содержимым сообщения добавить input hidden с именем автора, то можно и не оборачивать, так как хедер нужел был только для того, чтоб оттуда достать имя автора.
Сделать серую тему.

ronniko
> Сделать серую тему.
Что бы не мылило, нужно открыть в новой вкладке и увеличить.
Сделал.
Скачал адон для firefox https://addons.mozilla.org/en-US/firefox/addon/site-color-changer/
Этот форум вроде создавался для профессионалов и де-факто взрослых 18+ людей.
Так может всё таки добавить дисклеймер что этот форум 18+ и подтверждение согласия с этим при регистрации ?
Или это такой важный процесс передачи профессии через гены, и предлагать такое это фошизм !?