Техническая поддержка

Объявление

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Техническая поддержка » Скрипты » Спойлер


Спойлер

Сообщений 1 страница 8 из 8

1

Спойлер
(с) Карпов

Код:
<style type="text/css">
#button-spoiler {background-image:url('https://forumupload.ru/uploads/0000/12/13/488-1.gif'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat}
</style>
<script>
function addSpoiler(str,from,internal){
var pos=0,pos2=0,newpos=0
if((pos=str.indexOf("[spoiler]",from))==-1) return str;
if((pos2=str.indexOf("[/spoiler]"),pos+9)==-1) return str;
newpos=str.indexOf("[spoiler]",pos+9)
if(newpos<pos2 && newpos!=-1) str=addSpoiler(str,pos+9,true)
if((pos2=str.indexOf("[/spoiler]",pos+9))==-1) return str;
str=str.substring(0,pos)+makeSpoiler(str.substring(pos+9,pos2))+str.substring(pos2+10,str.length)
if( str.indexOf("[spoiler]")!=-1 && internal==false) str=addSpoiler(str,0,false)
return str}

function makeSpoiler(txt){
txt="<div class=quote-box style='padding:1px'><cite style='width:100%'>Спойлер <input style='width:60px;margin-left:70%;font-size:10px;' type='button' value='Показать' onclick='hideSpoiler(this)'></cite><blockquote style='display:none'>"+txt+"</blockquote></div>"
return txt}

function hideSpoiler(sp){
spoiler=sp.parentNode.parentNode.getElementsByTagName("blockquote")[0]
if(spoiler.style.display=='none'){
spoiler.style.display='inline'
sp.value='Скрыть'}
else{
spoiler.style.display='none'
sp.value='Показать'}}

if(document.URL.indexOf("viewtopic.php")!=-1){
elm=document.getElementById("pun-main").getElementsByTagName("div")
for(x in elm) if(elm[x].className=="post-content"){
var post=elm[x]
post.innerHTML=addSpoiler(post.innerHTML,0,false)}}
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(19).innerHTML="<img  id=\"button-spoiler\" title=\"Спойлер\" onclick=\"bbcode('[spoiler]','[/spoiler]')\" src=\"/i/blank.gif\" />"
</script>

Ставить в HTML в форме ответа.

+1

2

Что изменяеться?

0

3

Ека_тери_на, скрипт добавит в форму ответа кнопку для сокрытия текста, содержащего спойлеры (преждевременно раскрытая важная информация, которая портит впечатление от игры/книги/фильма и т.п.).

+1

4

Morfirin,  у-у-у-угу-у-у-у-у... Спасибо, йа понял...

0

5

Нормально работает >

http://s15.radikal.ru/i188/1006/f0/2b4b7570abdbt.jpg

======================

но есть уязвимости >

Вот что получаецо при вставке самого скрипта в спойлер >

http://s19.radikal.ru/i192/1006/52/80ec1fff9966t.jpg

Прим:Это происходит даже если скрипт обрамлен тегом "code", - с необрамленным тоже cамое

*Еще один минус, отсутствие иконки спойлера при редактировании сообщения

Отредактировано Deff (2010-06-17 17:37:50)

0

6

Deff написал(а):

но есть уязвимости >

:D

Deff написал(а):

Вот что получаецо при вставке самого скрипта в спойлер >

скажи а зачем?

Deff написал(а):

Еще один минус, отсутствие иконки спойлера при редактировании сообщения

ставь скрипт в хтмл-низ..

0

7

альб написал(а):

скажи а зачем?

Первое что сделал - попыталсо вставить код скрипта в форум(заключенным в тег "["code"]" - удобно коды нескольких скриптов в сообщении скрывать в спойлер

альб написал(а):

ставь скрипт в хтмл-низ..

СПС - да так работает и при редактировании

Отредактировано Deff (2010-06-18 13:24:21)

0

8

Deff написал(а):

удобно коды нескольких скриптов в сообщении скрывать в спойлер

сама по себе рамка кода не так уж и велика.. и зачем несколько скриптов ставить в один спойлер!? :dontknow:

0


Вы здесь » Техническая поддержка » Скрипты » Спойлер