Есть вопрос. Помогите.
Модератор: mike
Есть вопрос. Помогите.
Android test
Браузер Chrome
Скрытый текст:
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Написал сообщение, где хотел скрыть под спойлер фотографии, добавленные как вложение. Написал, посмотрел, при выполненном входе на форум всё было нормально, вид сообщения был такой, какой я и планировал :
Сейчас увидел сообщение без входа на форум. То что хотел скрыть, видно внизу сообщения:
Так и должно быть?
Homo homini lupus est.
Есть вопрос. Помогите.
В теории нетalvaar писал(а):Так и должно быть?
Надо будет посмотреть, спасибо за подсказку.
А чего мы хотим добиться, чтоб в спойлере оставался или чтоб не показывался нерегистреным?
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Хорошо было бы, если вложения-картинки были бы либо не видны внизу сообщения, ни при выполненном входе в форум, ни при просмотре без входа, либо чтобы они были видны всегда в виде значков, а для просмотра их нужен будет вход в форум. В крайнем случае, пусть они будут видны всегда, тогда хоть можно будет знать, чего ожидать.
Homo homini lupus est.
Есть вопрос. Помогите.
вроде поправил. (тремя постами выше мой пост с такой конструкцией)alvaar писал(а):Хорошо было бы, если вложения-картинки были бы либо не видны внизу сообщения
Только сообщения надо отредактировать - убрать спойлер - сохранить и потом снова его убрать под спойлер. А то в посте старый код так и будет
Кстати криво работал только "простой" спойлер, а с заголовком почему-то вел себя прилично.
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Строго говоря, смысла особого прятать картинки под спойлер нет т.к. картинка все равно грузится, просто прячется пока не ткнешь в спойлер. Чтоб она грузилась только после нажатия на спойлер потребует прикрутить в форум какой-нибудь фреймворк еще килобайт эдак на 100.
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Там фреймворка не надо никакого - лишь в теги img нужно атрибут не src писать, а data-src, значение которого при первой визуализации писать в srcmike писал(а):прикрутить в форум какой-нибудь фреймворк еще килобайт эдак на 100.
Есть вопрос. Помогите.
ну jquery то все равно надо?Tarsius писал(а):значение которого при первой визуализации писать в src
ps: ну и в движке система описания bbcode довольно ограничена, чтоб туда парсеры втыкать
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Не нужен. От JS требуется лишь повесить событие на открытие слайдера, прочитать значение одного атрибута, изменить значение другого атрибута. jquery для этого использовать не целесообразноmike писал(а):jquery то все равно надо?
getElementsByTagName
addEventListener|attachEvent
setAttribute
getAttribute
Все, больше не надо ничего
Триггер на слайдер есть какой-то, вот там одной регуляркой и поменять src на data-src у тегов img перед отображениемmike писал(а):чтоб туда парсеры втыкать
Есть вопрос. Помогите.
Ну не все так просто. там же при публикации картинки формируется обычный img src т.е. и при окучивании его спойлером надо достать из src содержимое и сформировать другой код картинки. А при убирании спойлера все наоборот.
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Зачем же так сложно? Триггер нужно повесить в самом конце, после формирования html-кода, и там уже без сохранения просто написать что-то типа:mike писал(а):достать из src содержимое и сформировать другой код картинки. А при убирании спойлера все наоборот.
Код: Выделить всё
$html = preg_replace('/<img(.*?)src="([^"]+)"/m', '<img$1data-src="$2"', $html);
Код: Выделить всё
element.src = element.dataset.src;
Есть вопрос. Помогите.
триггер должен как-то сообразить, что его потом bb-спойлером окучат.Tarsius писал(а):Триггер нужно повесить в самом конце, после формирования html-кода
Там эти процедуры разнесены по разным обработчикам. Просто формирование html и затем обработка bb-кодов...
не-не - имеелось в виду не захлопывание спойлера, а удаление его при редактировании поста.. Но если прикрутить постобработку, то тогда да, не надо будет.Tarsius писал(а):Обратное действие не требуется
Ну в общем я покручу эту идею с data-src как время будет, но пока весь концепт выглядит очень проблематично...
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Но вот триггер с самым-самым высоким приоритетом, который вызывается уже непосредственно перед выводом сформированного html-кодаmike писал(а):Но если прикрутить постобработку, то тогда да, не надо будет.
Он уже 100 раз должен быть обсужден на тематических форумах, но не в контексте спойлеров, а в загрузке изображений по мере прокрутки страницы к ним - технически тоже самоеmike писал(а):пока весь концепт выглядит очень проблематично...
Кстати, там же рядом будут темы автопрокрутки страниц (одностраничные темы), если развернуть сортировку по дате наоборот - было бы удобнее, это типа ленты фейсбуко-контакто-твиттеров
Есть вопрос. Помогите.
Все картинки в посте? А если они не в спойлере, а просто воткнуты кодом [ img ]?Tarsius писал(а):Но вот триггер с самым-самым высоким приоритетом, который вызывается уже непосредственно перед выводом сформированного html-кода
Или после формирования уже готовой к выдаче html-ки прям вот все картинки в странице заменить?
Есть решения для phpbb, но сделаны они не такими простыми средствами.
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Вот в этом месте, когда весь html готов к отправке клиенту, вот лишь тогда найти все спойлеры - и поменять внутри них все теги img. Для этого достаточно одной регулярки на поиск положений подстрок (начало/конец спойлера), затем внутри них замена (как выше написал), и затем замена подстрок исходя из найденных позиций на новые и отправка этого всего клиентуmike писал(а):Или после формирования уже готовой к выдаче html-ки прям вот все картинки в странице заменить?
Готовые решения пишутся под все случаи жизни, типа пьяного деда мороза в полнолуние на крыше дома с замерзшими пальцами, который захочет вниз головой воспользоваться форумом... Исходя из этого их использовать по возможности не стоитmike писал(а):но сделаны они не такими простыми средствами.
Есть вопрос. Помогите.
не-не, извини такие странные хаки через ммм... одно место я не буду применять
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Ну это не совсем хак, а лишь пост-обработка, особенно если есть в системе соответствующие триггеры специально для таких случаевmike писал(а):не-не, извини такие странные хаки через ммм... одно место я не буду применять
- Андрей221
- Флудеролог со стажем
- Сообщения: 42897
- Зарегистрирован: 17 июн 2009 13:58
- Откуда: Подольск, Литейная
Есть вопрос. Помогите.
ребят, вы о чем?
Наблюдаю за всем......
Решаем проблемы. Стараемся везде не волноваться...
Решаем проблемы. Стараемся везде не волноваться...
Есть вопрос. Помогите.
в данном случае эта глобальная постобработка и есть хак в рамках концепции форумного движка. Там нет унивесального последнего триггера.Tarsius писал(а):Ну это не совсем хак, а лишь пост-обработка
Есть методы которые обрабатывают отдельные функциональные фичи форума. Обработчик темплейтов-скинов -> перед ним обработчик bbкодов -> перед ним обработчик постов до их публикации в html...
Ты сейчас предлагаешь фактически написать парсер постов и воткнуть его в функцию натягивающую темплейты на выдачу.
И еще не забыть потом согласовать его с описателем bbкода спойлера, который вообще не в коде форума лежит, а редактируется в базе.
Ну кривота жеж блин какая-то получится... аццкий хак
забей мы меряемся...Андрей221 писал(а):ребят, вы о чем?
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
А разве нет триггера конкретно на тег spoiler после его разворачивания? Форум-то модульный все-такиmike писал(а):Обработчик темплейтов-скинов -> перед ним обработчик bbкодов -> перед ним обработчик постов до их публикации в html...
Ну или
на свой заменитьmike писал(а):с описателем bbкода спойлера
Есть вопрос. Помогите.
нет конечно. Более того в выдаче и понятия spoiler нетTarsius писал(а):А разве нет триггера конкретно на тег spoiler после его разворачивания?
Вся хрень преобразуется в кучку div'ов, один из которых открывается инлайн подстановкой скрипта по onCliсk
так он и есть свойTarsius писал(а):на свой заменить
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Что-то я был лучшего мнения о движке...mike писал(а):нет конечно
Есть вопрос. Помогите.
ему примерно сто лет ужеTarsius писал(а):Что-то я был лучшего мнения о движке..
Тега спойлер в нем не было - это реализация его некоторого аналога через bbкод
да собственно вот такое там работает
берется вот это
Код: Выделить всё
[spoiler]{TEXT}[/spoiler]
Код: Выделить всё
<div style="margin:5px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px"><b>Скрытый текст</b>: <input type="button" value="Показать"
style="width:65px;font-size:10px;margin:0px;padding:0px;color:#333;background-color:#eee;border:1px solid #669;"
onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';
this.innerText = ''; this.value = 'Спрятать'; }
else
{ this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Показать'; }">
</div>
<div class="alt2" style="margin: 0px; padding: 0px; border: 0px;">
<div style="display: none;margin: 0px; padding: 3px 5px 3px 5px; border: 1px #cccccc solid;background-color:#f0f0f0;">
{TEXT}
</div>
</div>
</div>
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
В идеале вот как раз изменив {TEXT} на {NO_IMG_TEXT} с последующим анализом можно добиться нужного эффекта, но погуглил исходники - там печально так в код все шаблоны зашиты...mike писал(а):Код: Выделить всё
<div style="display: none;margin: 0px; padding: 3px 5px 3px 5px; border: 1px #cccccc solid;background-color:#f0f0f0;"> {TEXT} </div>
Последний раз редактировалось Tarsius 25 дек 2013 16:10, всего редактировалось 1 раз.
Есть вопрос. Помогите.
ну так я это и имел в виду, что без фреймворков написать что-то компактное в инлайн код проблематично.Tarsius писал(а):В идеале вот как раз модифицируя {TEXT}
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
mike писал(а):без фреймворков написать что-то компактное в инлайн код проблематично.
Код: Выделить всё
<input type="button" value="Показать" style="..." onclick="...">
Есть вопрос. Помогите.
чо? нормальный код.Tarsius писал(а):хотя код - жесть, конечно
Ну если подумать наверное можно упростить, но... да какая нафиг? работает и нормально.
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Не могу вставить фото через "Вложения" в Объявлениях в Семья и дети. Почему?
Есть вопрос. Помогите.
скорее всего размер большойKarella писал(а):Не могу вставить фото через "Вложения" в Объявлениях в Семья и дети. Почему?
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
Есть вопрос. Помогите.
Я не могу вообще выбрать файл. Не открывается ничего. Размер 400*400, 15,9Кб.mike писал(а):скорее всего размер большойKarella писал(а):Не могу вставить фото через "Вложения" в Объявлениях в Семья и дети. Почему?
То есть, нажимаю Выбрать файл и все, ничего не происходит.
P.S. Извините, ложная тревога. Ребенок что-то понажимал.
- shinapodolsk
- Expert
- Сообщения: 1703
- Зарегистрирован: 28 авг 2008 15:17
- Откуда: шиномонтаж-подольск.рф
- Контактная информация:
Есть вопрос. Помогите.
mike
Тут такая проблема:
Пытаюсь добавить опрос в тему "покатушки на горелом", но не получается почему-то. Форум привязывает какие-то старые опросы,а если их удалить и сохранить, то получается, варианты ответов начинают размножаться
что я делаю не так?
Спасибо
Тут такая проблема:
Пытаюсь добавить опрос в тему "покатушки на горелом", но не получается почему-то. Форум привязывает какие-то старые опросы,а если их удалить и сохранить, то получается, варианты ответов начинают размножаться
что я делаю не так?
Спасибо
шиномонтаж-подольск.рф
Есть вопрос. Помогите.
Думаю, что какой-то косяк видимо в базе был. Зачистил старые опросники.shinapodolsk писал(а):что я делаю не так?
Попробуйте теперь создать - заготовка есть, просто надо отредактировать.
Elvis Has Left the Building
(а если вы видите и эту надпись, вам не нужны очки)
(а если вы видите и эту надпись, вам не нужны очки)
- shinapodolsk
- Expert
- Сообщения: 1703
- Зарегистрирован: 28 авг 2008 15:17
- Откуда: шиномонтаж-подольск.рф
- Контактная информация:
Есть вопрос. Помогите.
Спасибоmike писал(а):Думаю, что какой-то косяк видимо в базе был. Зачистил старые опросники.shinapodolsk писал(а):что я делаю не так?
Попробуйте теперь создать - заготовка есть, просто надо отредактировать.
шиномонтаж-подольск.рф
Есть вопрос. Помогите.
Что значит "для вашего ай пи вход невозможен"
Тая войти не может на форум!
Нет пошлых фраз — есть пошлые уши.
А с теми, кто не в теме нечего делить - наши тропы к разным полюсам..
А с теми, кто не в теме нечего делить - наши тропы к разным полюсам..
Есть вопрос. Помогите.
Линка
ай-пи ее офиса заблокирован из-за спама или еще чего-то нехорошего
ай-пи ее офиса заблокирован из-за спама или еще чего-то нехорошего