Страница 3 из 6

Есть вопрос. Помогите.

Добавлено: 02 дек 2013 15:18
mike
Android test
Скрытый текст:
venice.jpg
Браузер Chrome

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 10:52
alvaar
Написал сообщение, где хотел скрыть под спойлер фотографии, добавленные как вложение. Написал, посмотрел, при выполненном входе на форум всё было нормально, вид сообщения был такой, какой я и планировал :
Сообщение_со_входом.jpg
Сейчас увидел сообщение без входа на форум. То что хотел скрыть, видно внизу сообщения:
Сообщение_без_входа.jpg
Так и должно быть?

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 12:32
mike
alvaar писал(а):Так и должно быть?
В теории нет
Надо будет посмотреть, спасибо за подсказку.

А чего мы хотим добиться, чтоб в спойлере оставался или чтоб не показывался нерегистреным?

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 12:50
alvaar
Хорошо было бы, если вложения-картинки были бы либо не видны внизу сообщения, ни при выполненном входе в форум, ни при просмотре без входа, либо чтобы они были видны всегда в виде значков, а для просмотра их нужен будет вход в форум. В крайнем случае, пусть они будут видны всегда, тогда хоть можно будет знать, чего ожидать.

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 13:03
mike
alvaar писал(а):Хорошо было бы, если вложения-картинки были бы либо не видны внизу сообщения
вроде поправил. (тремя постами выше мой пост с такой конструкцией)
Только сообщения надо отредактировать - убрать спойлер - сохранить и потом снова его убрать под спойлер. А то в посте старый код так и будет
Кстати криво работал только "простой" спойлер, а с заголовком почему-то вел себя прилично.

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 13:09
mike
Строго говоря, смысла особого прятать картинки под спойлер нет т.к. картинка все равно грузится, просто прячется пока не ткнешь в спойлер. Чтоб она грузилась только после нажатия на спойлер потребует прикрутить в форум какой-нибудь фреймворк еще килобайт эдак на 100.

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 13:16
Tarsius
mike писал(а):прикрутить в форум какой-нибудь фреймворк еще килобайт эдак на 100.
Там фреймворка не надо никакого - лишь в теги img нужно атрибут не src писать, а data-src, значение которого при первой визуализации писать в src

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 13:22
mike
Tarsius писал(а):значение которого при первой визуализации писать в src
ну jquery то все равно надо?


ps: ну и в движке система описания bbcode довольно ограничена, чтоб туда парсеры втыкать :)

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 13:35
Tarsius
mike писал(а):jquery то все равно надо?
Не нужен. От JS требуется лишь повесить событие на открытие слайдера, прочитать значение одного атрибута, изменить значение другого атрибута. jquery для этого использовать не целесообразно

getElementsByTagName
addEventListener|attachEvent
setAttribute
getAttribute

Все, больше не надо ничего
mike писал(а):чтоб туда парсеры втыкать :)
Триггер на слайдер есть какой-то, вот там одной регуляркой и поменять src на data-src у тегов img перед отображением

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 13:53
mike
Ну не все так просто. там же при публикации картинки формируется обычный img src т.е. и при окучивании его спойлером надо достать из src содержимое и сформировать другой код картинки. А при убирании спойлера все наоборот. :)

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 14:02
Tarsius
mike писал(а):достать из src содержимое и сформировать другой код картинки. А при убирании спойлера все наоборот. :)
Зачем же так сложно? Триггер нужно повесить в самом конце, после формирования html-кода, и там уже без сохранения просто написать что-то типа:

Код: Выделить всё

$html = preg_replace('/<img(.*?)src="([^"]+)"/m', '<img$1data-src="$2"', $html);
И при открытии спойлера писать в цикле по всем img с пустым или отсутствущим src="" внутри него типа

Код: Выделить всё

element.src = element.dataset.src;
Обратное действие не требуется, т.к. после первого преобразования изображение уже было сохранено в кэше браузера и смысл такой манипуляции с атрибутами пропадает

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:09
mike
Tarsius писал(а):Триггер нужно повесить в самом конце, после формирования html-кода
триггер должен как-то сообразить, что его потом bb-спойлером окучат. :)
Там эти процедуры разнесены по разным обработчикам. Просто формирование html и затем обработка bb-кодов...
Tarsius писал(а):Обратное действие не требуется
не-не - имеелось в виду не захлопывание спойлера, а удаление его при редактировании поста.. Но если прикрутить постобработку, то тогда да, не надо будет.
Ну в общем я покручу эту идею с data-src как время будет, но пока весь концепт выглядит очень проблематично...

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:12
Tarsius
mike писал(а):Но если прикрутить постобработку, то тогда да, не надо будет.
Но вот триггер с самым-самым высоким приоритетом, который вызывается уже непосредственно перед выводом сформированного html-кода
mike писал(а):пока весь концепт выглядит очень проблематично...
Он уже 100 раз должен быть обсужден на тематических форумах, но не в контексте спойлеров, а в загрузке изображений по мере прокрутки страницы к ним - технически тоже самое

Кстати, там же рядом будут темы автопрокрутки страниц (одностраничные темы), если развернуть сортировку по дате наоборот - было бы удобнее, это типа ленты фейсбуко-контакто-твиттеров :-)

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:19
mike
Tarsius писал(а):Но вот триггер с самым-самым высоким приоритетом, который вызывается уже непосредственно перед выводом сформированного html-кода
Все картинки в посте? А если они не в спойлере, а просто воткнуты кодом [ img ]?
Или после формирования уже готовой к выдаче html-ки прям вот все картинки в странице заменить? :)

Есть решения для phpbb, но сделаны они не такими простыми средствами.

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:23
Tarsius
mike писал(а):Или после формирования уже готовой к выдаче html-ки прям вот все картинки в странице заменить? :)
Вот в этом месте, когда весь html готов к отправке клиенту, вот лишь тогда найти все спойлеры - и поменять внутри них все теги img. Для этого достаточно одной регулярки на поиск положений подстрок (начало/конец спойлера), затем внутри них замена (как выше написал), и затем замена подстрок исходя из найденных позиций на новые и отправка этого всего клиенту
mike писал(а):но сделаны они не такими простыми средствами.
Готовые решения пишутся под все случаи жизни, типа пьяного деда мороза в полнолуние на крыше дома с замерзшими пальцами, который захочет вниз головой воспользоваться форумом... Исходя из этого их использовать по возможности не стоит :-D

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:28
mike
не-не, извини такие странные хаки через ммм... одно место я не буду применять :)

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:33
Tarsius
mike писал(а):не-не, извини такие странные хаки через ммм... одно место я не буду применять :)
Ну это не совсем хак, а лишь пост-обработка, особенно если есть в системе соответствующие триггеры специально для таких случаев :-)

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:39
Андрей221
ребят, вы о чем? :fear: :? :D

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:54
mike
Tarsius писал(а):Ну это не совсем хак, а лишь пост-обработка
в данном случае эта глобальная постобработка и есть хак в рамках концепции форумного движка. Там нет унивесального последнего триггера.
Есть методы которые обрабатывают отдельные функциональные фичи форума. Обработчик темплейтов-скинов -> перед ним обработчик bbкодов -> перед ним обработчик постов до их публикации в html...
Ты сейчас предлагаешь фактически написать парсер постов и воткнуть его в функцию натягивающую темплейты на выдачу. :)
И еще не забыть потом согласовать его с описателем bbкода спойлера, который вообще не в коде форума лежит, а редактируется в базе. :)
Ну кривота жеж блин какая-то получится... аццкий хак :)

Андрей221 писал(а):ребят, вы о чем?
забей мы меряемся... :)

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 15:57
Tarsius
mike писал(а):Обработчик темплейтов-скинов -> перед ним обработчик bbкодов -> перед ним обработчик постов до их публикации в html...
А разве нет триггера конкретно на тег spoiler после его разворачивания? Форум-то модульный все-таки

Ну или
mike писал(а):с описателем bbкода спойлера
на свой заменить

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 16:01
mike
Tarsius писал(а):А разве нет триггера конкретно на тег spoiler после его разворачивания?
нет конечно. Более того в выдаче и понятия spoiler нет :)
Вся хрень преобразуется в кучку div'ов, один из которых открывается инлайн подстановкой скрипта по onCliсk
Tarsius писал(а):на свой заменить
так он и есть свой :)

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 16:02
Tarsius
mike писал(а):нет конечно
Что-то я был лучшего мнения о движке...

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 16:03
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>

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 16:08
Tarsius
mike писал(а):

Код: Выделить всё

<div style="display: none;margin: 0px; padding: 3px 5px 3px 5px; border: 1px #cccccc solid;background-color:#f0f0f0;">
{TEXT}
</div>
В идеале вот как раз изменив {TEXT} на {NO_IMG_TEXT} с последующим анализом можно добиться нужного эффекта, но погуглил исходники - там печально так в код все шаблоны зашиты...

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 16:10
mike
Tarsius писал(а):В идеале вот как раз модифицируя {TEXT}
ну так я это и имел в виду, что без фреймворков написать что-то компактное в инлайн код проблематично.

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 16:14
Tarsius
mike писал(а):без фреймворков написать что-то компактное в инлайн код проблематично.

Код: Выделить всё

<input type="button" value="Показать" style="..." onclick="...">
Биндить на input типа button со значением "Показать", хотя код - жесть, конечно

Есть вопрос. Помогите.

Добавлено: 25 дек 2013 16:20
mike
Tarsius писал(а):хотя код - жесть, конечно
чо? нормальный код. :)
Ну если подумать наверное можно упростить, но... да какая нафиг? работает и нормально. :)

Есть вопрос. Помогите.

Добавлено: 19 янв 2014 22:22
Karella
Не могу вставить фото через "Вложения" в Объявлениях в Семья и дети. Почему?

Есть вопрос. Помогите.

Добавлено: 20 янв 2014 09:12
mike
Karella писал(а):Не могу вставить фото через "Вложения" в Объявлениях в Семья и дети. Почему?
скорее всего размер большой

Есть вопрос. Помогите.

Добавлено: 20 янв 2014 10:36
Karella
mike писал(а):
Karella писал(а):Не могу вставить фото через "Вложения" в Объявлениях в Семья и дети. Почему?
скорее всего размер большой
Я не могу вообще выбрать файл. Не открывается ничего. Размер 400*400, 15,9Кб.
То есть, нажимаю Выбрать файл и все, ничего не происходит.
P.S. Извините, ложная тревога. Ребенок что-то понажимал.

Есть вопрос. Помогите.

Добавлено: 28 янв 2014 02:05
shinapodolsk
mike
Тут такая проблема:
Пытаюсь добавить опрос в тему "покатушки на горелом", но не получается почему-то. Форум привязывает какие-то старые опросы,а если их удалить и сохранить, то получается, варианты ответов начинают размножаться
что я делаю не так?

Спасибо :)

Есть вопрос. Помогите.

Добавлено: 28 янв 2014 11:11
mike
shinapodolsk писал(а):что я делаю не так?
Думаю, что какой-то косяк видимо в базе был. Зачистил старые опросники.
Попробуйте теперь создать - заготовка есть, просто надо отредактировать.

Есть вопрос. Помогите.

Добавлено: 28 янв 2014 12:27
shinapodolsk
mike писал(а):
shinapodolsk писал(а):что я делаю не так?
Думаю, что какой-то косяк видимо в базе был. Зачистил старые опросники.
Попробуйте теперь создать - заготовка есть, просто надо отредактировать.
Спасибо :)

Есть вопрос. Помогите.

Добавлено: 29 янв 2014 12:01
Линка
:help:
Что значит "для вашего ай пи вход невозможен"
Тая войти не может на форум!

Есть вопрос. Помогите.

Добавлено: 29 янв 2014 12:34
летучка
Линка
ай-пи ее офиса заблокирован из-за спама или еще чего-то нехорошего