Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Проблема с кастомным бб-кодом

Модерирует : Antuan, Dekker

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Vomitus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скатал с нета кастомный бб-код, аналог spoiler на торрентс.ру. Немного допил его, в итоге получилось вот что:
CSS:

Код:
 
.div-holder
{
    background-color: #242424;
    border-style: solid;
    border-color: #161616;
    border-width: 1px 1px 1px 2px;
}
.div-header
{
    cursor: pointer;
    border-bottom: 0px solid #161616;
    padding-left: 8px;
    color: #847441;
    font-size: 12px;
    font-family: Verdana, Tahoma, Helvetica, sans-serif;
    text-decoration: none;
}
.div-content
{
    display: none;
    background-color: #2f2f2f;
    padding-left: 8px;
    padding-right: 2px;
}
 

Javascript:

Код:
 
function show_hide_text(divObj, text) {
    var div = divObj.parentNode.getElementsByTagName('div')[1];
    if (div.style.display == 'none') {
        div.style.display = 'block';
        divObj.innerHTML = "<img src='./style_images/1/exp_minus.gif' border='0' alt='- " + text + "'> " + text;
        divObj.style.borderBottomWidth = "1px";
    } else {
        div.style.display = 'none';
        divObj.innerHTML = "<img src='./style_images/1/exp_plus.gif' border='0' alt='+ " + text + "'> " + text;
        divObj.style.borderBottomWidth = "0px";
    }
}
 

HTML:

Код:
 
<div class="div-holder">
    <div class="div-header" onclick="show_hide_text(this, '{option}')">
        <img src='./style_images/1/exp_plus.gif' border='0' alt='+ {option}' />
        {option}
    </div>
    <div class="div-content" style="display: none;">
        {content}
    </div>
</div>
 

 
Ну и, собственно, юзейдж такой:

Код:
[collapse="заголовок текста"]скрытый текст[/collapse]

В таком виде все работает отлично.
 
Проблема:
Когда я пишу вот такой код:

Код:
 
[collapse="inside"]
[collapse="look"]
alpha
[/collapse]
[collapse="feel"]
beta
[/collapse]
[/collapse]
 

для второго collapse (feel) генерится такой HTML:

Код:
 
        <div class="div-header" &#111;nclick="show_hide_text(this, '11')">
            <img src="./style_images/1/exp_plus.gif" alt="+ 11" border="0">
            11
        </div>
        <div class="div-content" style="display: none;">
            11
        </div>
 

т.е. вместо onclick оно пишет &#111;nclick. Если посмотреть в пхп, видно, что это один из механизмов IPB для защиты от вредоносных инъекций. Непонятно, почему он срабатывает в этой конструкции и почему он не срабатывает для первых двух тегов?
PS Версия IPB = 2.3.6

Всего записей: 52 | Зарегистр. 15-02-2007 | Отправлено: 00:07 16-11-2009
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Проблема с кастомным бб-кодом


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru