BB-code выделение оффтопа на форуме
|
|
Арогорн | Дата: 03 Апреля 2007, 10:41 | Сообщение # 1 | ● ● ● ● ● 419 сообщений Статус: Offline | Решил выкласть тут скрипт, который поможет выделять оффтопик на форумах Ucoz. Это желательно между <head></head>: Code | <script language=JavaScript> function tagcode(tag) { doInsert("[" + tag + "]", "[/" + tag + "]") } function doInsert(ibTag, ibClsTag) { var obj_ta = document.post.Post; var sel = document.selection; var rng = sel.createRange(); rng.colapse; if((sel.type == "Text" || sel.type == "None") && rng != null) { if(ibClsTag != "" && rng.text.length > 0) ibTag += rng.text + ibClsTag; } } </script> | А это в шаблоне общего вида форума после $BODY$: Code | %IF($PAGE_ID$=threadpage|=postedit|=addreply|=addthread|=addpoll)% <div style="display:none"> <input name="off" type="button" onmouseover="document.addform.helpbox.value='Выделение текста не в тему'" onclick="tagcode('off');" class="codeButtons" value=" offtop " /> </div> <script> e=document.getElementsByTagName("TD"); for(k=15; k<e.length;k++) { if(e[k].className=='posttdmessage') { s=e[k].innerHTML; s=s.replace('[off]','<table><tr><td><a style="cursor:hand" onClick="expandit(this)">OffTopic</a></td></tr><tr style="display:none" style=&{head};><td><p align="center">'); s=s.replace('[/off]','</p></td></tr></table>'); e[k].innerHTML=s; } } </script> <script> Nn=19; elem=document.all.off; obj=document.addform.i.parentNode; obj.insertBefore(elem, obj.childNodes[Nn]); var newText = document.createTextNode(unescape('%A0')); obj.insertBefore(newText, obj.childNodes[Nn]); </script> %ENDIF% | У меня на форуме работает, так что если что то не выходит я не виноват. | | |
|
patrik | Дата: 03 Апреля 2007, 12:42 | Сообщение # 2 | ● ● ● ● ● 23 сообщения Статус: Offline | Все сделал, как написали, а скрипт не работает... вводит только [off] и на закрывает. А можно сделать подобный код для СПОЙЛЕРОВ? Чтобы спойлер был по виду как цитата, только текст белый. | | |
|
Арогорн | Дата: 04 Апреля 2007, 08:45 | Сообщение # 3 | ● ● ● ● ● 419 сообщений Статус: Offline | Quote (patrik) | вводит только [off] и на закрывает | нужно выделить текст, а потом нажать на кнопочку и тогда выделенный текст обрамляется тэгами [off][/off] - открывающим и закрывающим. Quote (patrik) | Чтобы спойлер был по виду как цитата, только текст белый | изменяйте ХТМЛ-код: Quote | s=s.replace('[off]','<table><tr><td><a style="cursor:hand" onClick="expandit(this)">OffTopic</a></td></tr><tr style="display:none" style=&{head};><td><p align="center">'); s=s.replace('[/off]','</p></td></tr></table>'); |
| | |
|
kankord | Дата: 04 Апреля 2007, 18:14 | Сообщение # 4 | ● ● ● ● ● 1 сообщение Статус: Offline | patrik, текст если что нужно выделять в поле где ты его набираешь) | | |
|
subONE | Отредактировал subONE - Среда, 04 Апреля 2007, 18:54 Дата: 04 Апреля 2007, 18:53 | Сообщение # 5 | ● ● ● ● ● 1387 сообщений Статус: Offline | thx! | | |
|
Арогорн | Отредактировал Арогорн - Пятница, 06 Апреля 2007, 12:40 Дата: 06 Апреля 2007, 12:34 | Сообщение # 6 | ● ● ● ● ● 419 сообщений Статус: Offline | На основе выше изложенного примера можно легко сделать функцию Скрытый текст (правда с парой незначительных минусов) Потом выкладу код для Скрытого теста Вы не входите в группу, которой разрешен просмотр данной информации | | |
|
kydapodatsya | Дата: 06 Апреля 2007, 14:59 | Сообщение # 7 | ● ● ● ● ● Дизайнер 2557 сообщений Статус: Offline | Quote (Арогорн) | На основе выше изложенного примера можно легко сделать функцию Скрытый текст (правда с парой незначительных минусов) Потом выкладу код для Скрытого теста | можно-то можно, но как Андре, я думаю Вы не придумаете | | |
|
subONE | Дата: 06 Апреля 2007, 16:06 | Сообщение # 8 | ● ● ● ● ● 1387 сообщений Статус: Offline | Вот надыбал таг для скрытого текста у Андре Наверно меня за это не убъют Quote | texterr='<span class="texterr">Вы не входите в группу, которой разрешен просмотр данной информации</span>'; var e = document.getElementsByTagName('TD'); for (n=0; n<e.length; n++){ if(e[n].className=='posttdmessage') { textCell = e[n].innerHTML; poisk=/\[secret\]([0-9,\s]*)\[\/secret\]/; proverka=poisk.exec(textCell); if(proverka!=null) { textCell=textCell.replace(proverka[0],texterr); e[n].innerHTML=textCell; } }} |
| | |
|
Арогорн | Дата: 06 Апреля 2007, 16:23 | Сообщение # 9 | ● ● ● ● ● 419 сообщений Статус: Offline | kydapodatsya, но если я наберусь знаний как у Андре, то вероятно смогу Найти бы для начала учебник по ДжСкр. subONE, вот этот проще: Это между <head></head>: Code | <script language=JavaScript> function tagcode(tag) { doInsert("[" + tag + "]", "[/" + tag + "]") } function doInsert(ibTag, ibClsTag) { var obj_ta = document.post.Post; var sel = document.selection; var rng = sel.createRange(); rng.colapse; if((sel.type == "Text" || sel.type == "None") && rng != null) { if(ibClsTag != "" && rng.text.length > 0) ibTag += rng.text + ibClsTag; } } </script> | А это после $BODY$ в главном шаблоне форума: Code | <div style="display:none"> <input name="hide" type="button" onmouseover="document.addform.helpbox.value='Выделение Скрытого текста'" onclick="tagcode('hide');" class="codeButtons" value=" hide " /> </div> <script> e=document.getElementsByTagName("TD"); for(k=15; k<e.length;k++) { if(e[k].className=='posttdmessage') { s=e[k].innerHTML; s=s.replace('[hide]','<br><table cellpadding="1" width="100%" class="menu1"><tr><td align="center" vAlign="center"><b>Cкрытый текст</b>%IF($USER_LOGGED_IN$)%%ELSE%. Вы вошли, как Гость. <a href="$REGISTER_LINK$" target="_blank">Регистрация</a> не отнимет много времени%ENDIF%</td></tr><tr><td align="center" class="menu1" vAlign="center" style="display:%IF($USER_LOGGED_IN$)%block%ELSE%none%ENDIF%"><p>'); s=s.replace('[/hide]','</p></td></tr></table><br>'); e[k].innerHTML=s; } } </script> <script> Nn=21; elem=document.all.hide; obj=document.addform.i.parentNode; obj.insertBefore(elem, obj.childNodes[Nn]); var newText = document.createTextNode(unescape('%A0')); obj.insertBefore(newText, obj.childNodes[Nn]); </script> | Все просто. И все работает, по крайней мере у меня. | | |
|
Andre | Дата: 06 Апреля 2007, 16:29 | Сообщение # 10 | ● ● ● ● ● 1822 сообщения Статус: Offline | Quote (Арогорн) | но если я наберусь знаний как у Андре, то вероятно смогу | дерзай. Только я не знаниями оперирую, а логикой. Я не программист, я логист | | |
|
Serious | Дата: 06 Апреля 2007, 16:30 | Сообщение # 11 | ● ● ● ● ● 112 сообщений Статус: Offline | Quote (Арогорн) | Найти бы для начала учебник по ДжСкр. | Google тебе в помощь Добавлено (2007-04-06, 16:30) ---------------------------------------------
Quote (Andre) | Только я не знаниями оперирую, а логикой. Я не программист, я логист | Логика дает больше простора для фантазии | | |
|
Арогорн | Дата: 06 Апреля 2007, 16:56 | Сообщение # 12 | ● ● ● ● ● 419 сообщений Статус: Offline | Quote (Serious) | Google тебе в помощь | Не думаю, что в инете есть стоящие учебники, но все равно поищу, как только закончу рисовать героев для ролевой половины своего форума. Quote (Andre) | Только я не знаниями оперирую, а логикой | Да, но Знания + Логика = Могучая вещь, потому что я, лично, не знаю куда засунуть свою логику без базовой части знаний JS | | |
|
subONE | Дата: 06 Апреля 2007, 19:53 | Сообщение # 13 | ● ● ● ● ● 1387 сообщений Статус: Offline | Арогорн, жаль но скрипт текст не прячет показывает [hide]гы гы гы[/hide] a прятаццо не хочет | | |
|
Andre | Дата: 06 Апреля 2007, 20:15 | Сообщение # 14 | ● ● ● ● ● 1822 сообщения Статус: Offline | subONE, значит что-то не так сделал или класс в форуме не соответствующий Quote (Арогорн) | e[k].className=='posttdmessage' |
| | |
|
subONE | Дата: 06 Апреля 2007, 21:17 | Сообщение # 15 | ● ● ● ● ● 1387 сообщений Статус: Offline | Andre, хм не соответствующий, это чо шутка? | | |
|
Serious | Дата: 07 Апреля 2007, 06:39 | Сообщение # 16 | ● ● ● ● ● 112 сообщений Статус: Offline | Арогорн, IE жалуется на ошибки в скриптах | | |
|
ja | Дата: 07 Апреля 2007, 14:20 | Сообщение # 17 | ● ● ● ● ● 694 сообщения Статус: Offline | у меня тож не пашет! какой класс там нужно ставить*?* | | |
|
Арогорн | Дата: 07 Апреля 2007, 17:19 | Сообщение # 18 | ● ● ● ● ● 419 сообщений Статус: Offline | Quote (ja) | IE жалуется на ошибки в скриптах | только, если вы гость, и если не используется $PAGE_ID$ | | |
|
ALR | Дата: 09 Апреля 2007, 22:19 | Сообщение # 19 | ● ● ● ● ● 5 сообщений Статус: Offline | Quote (subONE) | Арогорн, жаль но скрипт текст не прячет показывает [hide]гы гы гы[/hide]a прятаццо не хоч | У меня также. Плиз, обьясните для тех, кто в танке, как это исправить.Добавлено (2007-04-09, 22:19) --------------------------------------------- Да. Ещё у меня при выделении текста и нажатии соответсвующей кнопки воявляется только первый bb код [hide] | | |
|
WolfClan | Дата: 09 Апреля 2007, 23:42 | Сообщение # 20 | ● ● ● ● ● 404 сообщения Статус: Offline | Quote (ALR) | Да. Ещё у меня при выделении текста и нажатии соответсвующей кнопки воявляется только первый bb код [hide] | Читай Пост №3 в этой теме. | | |
|