BB-коды в Ajax-окне
Sectron Отредактировал Sectron - Четверг, 25 Июня 2009, 08:30
Дата: 22 Июня 2009, 09:11 | Сообщение # 1 ● ● ● ● ●
91 сообщение
Статус: Offline
Пример: EnigMatic Team Site Описание: Скрипт заменяющий prompt() окна при вызове BB-кодов html, img, list, email на Ajax окна.
Установка: 1. Скачиваем архив . 2. Распаковываем его в http://вашсайт/bbcodes/ 3. Вставляем
Code
[html]<script type="text/javascript" src="/bbcodes/bbcodes.js"></script>
в шаблоны: Пользователи>Личные сообщения (ЛС) - поле $BODY$ Комментарии>Форма добавления комментариев - в конец Новости сайта>Страница архив материалов - поле $BODY$ Форум>Форма добавления сообщения - в конец Фотоальбомы>Страница добавления фотографии - поле $BODY$ Каталог статей>Страница добавления/редактирования материала - поле $BODY$ Каталог файлов>Страница добавления/редактирования материала - поле $BODY$ Каталог сайтов>Страница добавления/редактирования материала - поле $BODY$ Доска объявлений>Страница добавления/редактирования материала - поле $BODY$ 4. Любуемся результатом UPD: Теперь вставка тегов возможна при нажатии на Enter (у тега list при нажатии на Ctrl+Enter ) UPD2 :
Теперь при вставке тега list при наличии пустой строки генерация списка не останавливается Теперь когда открыт тег лист для двух полей(brief,message) у второго открытого окна работает кнопка "+"
cucYa Дата: 25 Июня 2009, 04:31 | Сообщение # 21 ● ● ● ● ●
Совращенный мальчик.7317 сообщений
Статус: Offline
При вставке списка, если заполненно 1-ое, 2-ое, 4-ое и 5-ое поле, вставятся только 1-ое и 2-ое...
Sectron Отредактировал Sectron - Четверг, 25 Июня 2009, 16:27
Дата: 25 Июня 2009, 08:29 | Сообщение # 22 ● ● ● ● ●
91 сообщение
Статус: Offline
Кронд , установил Firefox 3.5 RC2, все работает. Скопируй сообщение которое выдает консоль ошибок(Инструменты>Консоль ошибок). cucYa , сейчас исправлю... Добавлено (25 Июнь 2009, 08:29) --------------------------------------------- UPD2 :
Теперь при вставке тега list при наличии пустой строки генерация списка не останавливается Теперь когда открыт тег лист для двух полей(brief,message) у второго открытого окна работает кнопка "+"
Кронд Дата: 25 Июня 2009, 18:23 | Сообщение # 23 ● ● ● ● ●
329 сообщений
Статус: Offline
Sectron , Document.all is undefined O_o
Бармалей Дата: 25 Июня 2009, 20:42 | Сообщение # 24 ● ● ● ● ●
Тиран
7772 сообщения
Статус: Offline
Я не знаю, как у вас, а у меня в опере Document - функция.
Кронд Отредактировал Кронд - Четверг, 25 Июня 2009, 21:16
Дата: 25 Июня 2009, 20:57 | Сообщение # 25 ● ● ● ● ●
329 сообщений
Статус: Offline
Не знаю, как у Вас, а у меня в Firefox слишком много всего, чтобы от него отказываться в пользу Оперы, которая мне, к тому же, не приходится по вкусу совершенно ни в чём. А по делу комментарии будут? Или только холиварного свойства? PS Для любителей холиваров
Sectron Дата: 26 Июня 2009, 10:36 | Сообщение # 26 ● ● ● ● ●
91 сообщение
Статус: Offline
Кронд , завтра постараюсь выложить решениеДобавлено (26 Июнь 2009, 10:36) ---------------------------------------------Кронд , обновил архив, пробуй.
Кронд Отредактировал Кронд - Пятница, 26 Июня 2009, 12:28
Дата: 26 Июня 2009, 12:34 | Сообщение # 27 ● ● ● ● ●
329 сообщений
Статус: Offline
Ща попробую.... PS Модеры, сделайте первое сообщение шапкой темы, пожалуйста!
Добавлено (26 Июнь 2009, 12:34) ---------------------------------------------Sectron , всё отлично работает, спасибо =)
Sectron Дата: 30 Июня 2009, 16:11 | Сообщение # 28 ● ● ● ● ●
91 сообщение
Статус: Offline
Кронд , пожалуйста Добавлено (30 Июнь 2009, 16:11) ---------------------------------------------UPD3:
Добавлена возможность закрывать окно после вставки кода Теперь BB-коды работают и при ответе на комментарий
killo-w Дата: 30 Июня 2009, 16:27 | Сообщение # 29 ● ● ● ● ●
11 сообщений
Статус: Offline
зацените мои бб )) и воще сайтец под дли немного косит
Sectron Дата: 11 Июля 2009, 16:03 | Сообщение # 30 ● ● ● ● ●
91 сообщение
Статус: Offline
4 обновление:
Теперь виртуальная клавиатура на форуме работает в Ajax-окне. Архив с последней версией тут
CrazyFENIX Дата: 11 Июля 2009, 17:01 | Сообщение # 31 ● ● ● ● ●
299 сообщений
Статус: Offline
killo-w , ничего особенного не увидел
Xmk Отредактировал Xmk - Суббота, 19 Сентября 2009, 19:43
Дата: 19 Сентября 2009, 19:42 | Сообщение # 32 ● ● ● ● ●
27 сообщений
Статус: Offline
Помогите пожалуйста сделать уКозовский Спойлер в ajax я прописал в js:
Code
function tag_spoiler(wh){ if(wh=="editMessage76862"){ openLayerB('tag_spoiler_message',0,'/bbcodes/message.xml','Вставить спойлер',300,400);return false; } }
Code
function spoiler_exec(wh) { var isclose = document.getElementById('isclose_url_'+wh).checked; isclose = isclose ? '1':'0'; if(wh=="editMessage76862"){ var enterNAME = document.spoiler_name_message.spoiler_message.value; } var enterTITLE=isSelected(wh); if (enterTITLE.length==0){ if(wh=="editMessage76862"){ var enterNAME = document.spoiler_name_message.spoiler_message.value; } } doInsert("[spoiler="+enterNAME+"]"+enterTITLE+"[/spoiler]","",false,wh); if(isclose=='1'){ _uWnd.close('tag_spoiler_'+wh); } }
в message.xml:
Code
<cmd p="content" t="tag_spoiler_message"><![CDATA[ <form name="spoiler_message" onsubmit="spoiler_exec('editMessage76862'); return false"> <table> <tr><td align="right">Название спойлера:<td><input type="text" name="spoiler_name_message" id="spoiler_name_message" value="Название" size="35"></td></tr> <tr id="textfield" style="display:none;"><td align="right">Текст спойлера:<td><input type="text" name="spoiler_message" id="spoiler_message" size="35"></td></tr> <tr><td colspan=2><input type="submit" name="submit" id="submit" value="Вставить" size="20"></td></tr> <tr><td colspan=2><input type="checkbox" name="isclose_url_message" id="isclose_url_message" checked="checked"> <label for="isclose_url_message">Закрыть окно после вставки</label></td></tr> </table> </form> <script> var enterTITLE=isSelected('editMessage76862'); if (enterTITLE.length==0){ document.getElementById('textfield').style.display=''; } </script> ]]></cmd>
кнопка спойлера:
Code
<span class="bbc1" id="bc28"><input type="button" value="спойлер" onclick="tag_spoiler('editMessage76862','')" class="codeButtons" title="спойлер" name="спойлер" /></span>
При нажатии на "Вставить" в ajax страница обновляеться с адресом:
Code
http://мой-сайт.ру/forum/19-165-1?spoiler_name_message=%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&spoiler_message=%D0%A2%D0%B5%D0%BA%D1%81%D1%82&submit=%D0%92%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C&isclose_url_message=on
Помогите пожалуйста...
Sectron Отредактировал Sectron - Воскресенье, 20 Сентября 2009, 07:08
Дата: 20 Сентября 2009, 07:10 | Сообщение # 33 ● ● ● ● ●
91 сообщение
Статус: Offline
через 1 - 2 часа сделаюДобавлено (20 Сентябрь 2009, 07:10) ---------------------------------------------Xmk , все готово, твой архив тут
Xmk Дата: 20 Сентября 2009, 11:59 | Сообщение # 34 ● ● ● ● ●
27 сообщений
Статус: Offline
Большое спасибо, а для текста спойлера можно поле побольше сделать?
cucYa Отредактировал cucYa - Воскресенье, 20 Сентября 2009, 12:19
Дата: 20 Сентября 2009, 12:19 | Сообщение # 35 ● ● ● ● ●
Совращенный мальчик.7317 сообщений
Статус: Offline
Xmk , в message.xml находим Code
<input type="text" name="spoiler_text_message" id="text_message" size="35">
и задаём длину ручками.
Xmk Дата: 20 Сентября 2009, 12:26 | Сообщение # 36 ● ● ● ● ●
27 сообщений
Статус: Offline
да зачем мне длина? мне нужна высота как менять длину я знаю
Sectron Дата: 20 Сентября 2009, 13:59 | Сообщение # 37 ● ● ● ● ●
91 сообщение
Статус: Offline
Xmk , Code
[html]<input type="text" name="spoiler_text_message" id="text_message" style="height:100px">
}{0тт@бь)ч Отредактировал }{0тт@бь)ч - Воскресенье, 20 Сентября 2009, 20:55
Дата: 20 Сентября 2009, 20:52 | Сообщение # 38 ● ● ● ● ●
1089 сообщений
Статус: Offline
Quote (Бармалей )
Document - функция.
что она делает? о_О
NecroProger Дата: 20 Сентября 2009, 21:28 | Сообщение # 39 ● ● ● ● ●
1024 сообщения
Статус: Offline
}{0тт@бь)ч , Code
javascript:alert(Document)
Жесть! Добавлено (20 Сентябрь 2009, 21:28) --------------------------------------------- А... Это теперь у всех функций стандартных так...
Добавлено (20 Сентябрь 2009, 21:28) --------------------------------------------- В старой Опере было по-другому: выводилось [[native function]] или что-то такое...
Sectron Отредактировал Sectron - Понедельник, 28 Сентября 2009, 13:32
Дата: 28 Сентября 2009, 13:28 | Сообщение # 40 ● ● ● ● ●
91 сообщение
Статус: Offline
Версия 2.0
Добавлено:
Настройка дополнения Обработка тега spoiler Авто определение выделенного фрагмента Подробнее:
Теперь можно выбирать какие из кодов обрабатывать. Настройки указываются в файле
bbcodes.js до соответствующего комментария.
В настройках следующие пункты
массив setup. Указывает какие BB-коды открывать в Ajax-окне. формат записи: [url,img,email,list,spoiler] По умолчанию все заменяется. Положения: 0 - не заменять 1 - заменять Переменные close_url, close_email, close_img, close_list, close_spoiler. Устанавливают закрывать ли окно после вставки текста. Положения: 0 - не закрывать 1 - закрывать 2 - оставить выбор пользователю Переменная max_length_spoiler. Устанавливает максимально-допустимую длину текста кнопки спойлера.
Если при нажатии на кнопки url, email, list, spoiler был выделен текст, то он автоматически определяется по следующим параметрам:
Если нажата кнопка http:// и выделен фрагмент начинающийся на http://, то поле "Адрес" автоматически скрывается и будет заполнено выделением. Иначе выделенный фрагмент вставляется в поле "Текст ссылки" Если нажата кнопка @ и выделен фрагмент имеющий в себе символы @, то поле "E-mail" автоматически скрывается и будет заполнено выделением. Иначе выделенный фрагмент вставляется в поле "Видимый текст" Если нажата кнопка list и выделен фрагмент имеющий в себе несколько абзацев, то при открытии каждый абзац = каждому пункту. Если нажата кнопка spoiler и выделен фрагмент > значения max_length_spoiler, то при открытии будет скрыто поле "Текст спойлера" и будет заполнено выделением. Иначе скрывается поле "Текст кнопки спойлера" и оно будет заполнено выделением. Так же всегда можно открыть скрытое поле, для этого есть специальная кнопка
Способ установки не изменен. Архив доступен там же
Копирайты по-прежнему затирать запрещено ! При копировании по-прежнему материала ссылка на сайт автора обязательно