полигон

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

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


Вы здесь » полигон » Тестовый форум » скрипты для теста


скрипты для теста

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

1

Все скрипты взяты от сюда: http://forum.mybb.ru

Замена ссылок Профиль - ЛС - Email картинками

    <script type="text/javascript">
    var trr=document.getElementsByTagName("ul")
    var fi=0
    for (fi=0; fi<=(trr.length-1);fi++)
    {if (trr[fi].innerHTML.indexOf("pl-email")!=-1)
    {var drr=trr[fi].getElementsByTagName("a")
    drr[0].innerHTML="<img src='картинка Профиль' />"
    drr[1].innerHTML="<img src='картинка ЛС' />"
    drr[2].innerHTML="<img src='картинка Email' />"
    }}
    </script>

0

2

Скрипт замены надписей активны/неактивны под аватаром на картинки

    <script type="text/javascript">
    var we=document.getElementsByTagName("ul")
    var x=0
    for (x=0; x<=(we.length-1); x++)
    {if (we[x].innerHTML.indexOf("pa-online")!=-1)
    {we[x].innerHTML=we[x].innerHTML.substring(0, (we[x].innerHTML.indexOf("pa-online")-11))+"<img src='адрес онлайн картинки' />"}
    else if ((we[x].innerHTML.indexOf("pa-online")==-1)&&(we[x].innerHTML.indexOf("pa-author")!=-1))
    {we[x].innerHTML=we[x].innerHTML+"<img src='адрес оффлайн картинки' />"}
    }
    </script>

0

3

Всплывающее окно-раздражалка для незарегестрированных
Само всплывает и появляется через определенные промежутки врмени.

Вместо текста Зарегистрируйся блин можно вписать люой текст, в том числе и HTML поддерживается.
Вместо 3000- интервал который окно держится до исчезновения и через скока появляется снова
в миллесекундах
Код:

<script type="text/javascript">
var t
var freak
function freakOut()
{freak=window.open("", "_blank", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=300, height=300")
freak.document.write ("Зарегистрируйся блин") 
t=setTimeout ("freakIn()", 3000)                       
}
function freakIn()
{freak.close()
t=setTimeout ("freakOut()", 3000)}   
if (document.getElementById('pun-status').innerHTML.indexOf("Гость")!=-1)
{freakOut()}
</script>

0

4

Постепенно набирающееся название форума.
Код:

<script type="text/javascript">
var tit = document.title;
var c = 0;

function writetitle() {
  document.title = tit.substring(0,c);
  if(c==tit.length) {
    c = 0;setTimeout("writetitle()", 3000)
  } else {
    c++;
    setTimeout("writetitle()", 200)
  }
}
writetitle()
</script>

0

5

Скрипт меню опций в дополнительном поле.

Нужен для того, чтобы в дополнительном поле в профиле, вместо обычной полосы ввода текста было ниспадающее меню преустановленных опций (селект), так чтобы юзер не сам заполнял текст а выбирал из них. Для всяких кланов, доп статусов и т.д.

1.Создаете дополнительное поле как обычно с нужным названием и установками

2. Вниз вставлем:

    <script type="text/javascript">
    var cont=document.getElementsByTagName("legend")
    if (cont[0].innerHTML.indexOf("Укажите дополнительные данные")!=-1)
    {document.getElementById('fld1').style.display="none"
    var form=document.getElementById('profile8').innerHTML
    var init=document.getElementById('fld1').value
    document.getElementById('profile8').innerHTML=form.substring(0, (form.indexOf("fld1")-11))+"<select id='subst'>"+"<option value ='колдун'>колдун</option>"+"<option value ='вампир'>вампир</option>"+"<option value='ведьма'>ведьма</option>"+...+"</select>"+form.substr((form.indexOf("fld1")-11))
    document.getElementById('subst').value=document.getElementById('fld1').value
    document.getElementsByName('update')[0].onclick=transForm}
    function transForm()
    {document.getElementById('fld1').value=document.getElementById('subst').value
    return true}

    </script>

Вместо синих слов - вставляете свои ранги-опции. Чтобы увеличить их количество размножайте в скрипте этот блок
"<option value='ведьма'>ведьма</option>" вместо красного троеточия (если рангов больше не надо. тоеточие выкиньте), соединяя их между собой плюсами.
Если речь идет о втором посчету, а не опервом доп поле в профиле, в скрипте ВЕЗДЕ fld1 замените на fld2

Добавлено:

После небольших изменений на форуме скрипт работал некорректно. 2 раза в скрипте найдите 11 и замените на 12.

0

6

Расположение сообщений на странице от более позднего (вверху) к более раннему (внизу)

    <script type="text/javascript">
    var divs=document.getElementById('pun-main')
    var posts=divs.getElementsByTagName("div")
    var qaz=new Array(0)
    var qw=0
    function getPosts()
    {for (qw=0; qw<=(posts.length-1); qw++)
    {if (posts[qw].innerHTML.indexOf("permalink")!=-1)
    {qaz.splice (0, 0, posts[qw].outerHTML)}}
    return qaz
    }

    if (document.URL.indexOf("viewtopic")!=-1)
    {var po=getPosts().slice(0, ((getPosts().length/2)-1))
    document.getElementById('pun-main').innerHTML=document.getElementById('pun-main').innerHTML.substring(0, (document.getElementById('pun-main').innerHTML.indexOf("item1")-17))+po.join(" ")+"</div>"+document.getElementById('pun-main').innerHTML.substr((document.getElementById('pun-main').innerHTML.indexOf("modmenu")-12))}
    </script>

!!!Вставлять строго в HTML низ. В Html под формой ответа вызывает ошибку эксплорера.

0

7

Убираем пользователя из списка модеров

Под каждым форумом есть список его модераторов. Этот скрипт убирает пользователя из этого списка (только из списка. Права остаются)

    <script type="text/javascript">
    var supermod = new Array("karpoff","Zebra")

    var mod=document.getElementsByTagName("span")
    var str
    for(x in mod) if(mod[x].className=="modlist"){
    for(y in supermod)
        if((pos=mod[x].innerHTML.indexOf(supermod[y]))!=-1)
            mod[x].innerHTML=remName(mod[x].innerHTML,pos)
    }

    function remName(str,pos){
    var pos1=str.indexOf("<A href"),pos2=str.indexOf("<A href",pos1+1)
    if(pos2==-1) return("")

    while(pos>pos2 && pos2!=-1){
        pos1=pos2
        pos2=str.indexOf("<A href",pos1+1)
    }
    if(pos2==-1){
        pos2=str.length-1
        pos1-=2
    }
    return (str.substring(0,pos1)+str.substring(pos2,str.length))
    }
    </script>

в строке
var supermod = new Array("karpoff","Zebra")
через запятую перечисляете столько пользователей, сколько душе угодно

0

8

Убрать "Важно:"
Код:

<style type="text/css">
.stickytext {display:none}
</style>

Убрать "Важно:" и заменить стандартную иконку выделенной темы на свою:
Код:

<style type="text/css">
.stickytext {display:none}
tr.isticky div.icon {background: url(http://site.ru/icon.gif) no-repeat}
</style>

http://site.ru/icon.gif - заменить на ссылку иконки.

А заменить "Важно:" на иконку нельзя. Можно добавить только как фон к этой надписи.

Литература в помощь:
http://forum.mybb.ru/viewtopic.php?id=61

0

9

Скрипт спойлера (подсказки) в сообщении!!!исправлено, теперь подсказка сворачивается

Раньше довольно часто поступали запросы на этот скрипт, и вот недавно напомнили о нем снова, чему я очень рада. На мой взгляд, функция очень полезная, особенно для игровых форумов (и не только). Смысл функции таков. Например, вам надо поместитьв сообщение подсказку по похождению игры или чего-то еще. В бщем, это может быть любой текст, который не все пользователи захотят видеть. Вместо этого скрытого текста в сообщении отобразиться кнопка-картинка (Показать спойлер, подсказка, любая). При нажатии на нее пользователь, если захочет, увидит скрытый текст. Остальным он мешать не будет.

Чтобы вставить подсказку в сообщение достаточно воспользоваться кнопкой подсказка (мы ее вставим в HTML под формой ответа), или вручную написать теги <spoiler><endspolier>. Поджалуйства, только не надо щас набрасываться с расспросами типа "А что, HTML теги в сообщениях можно разрешить?". Ответ - нет. Хтмл в соощение нельзя будет вставлять НИКОГДА. Это не хтмл теги, прсото мне быо удобнее прописать <> такие, а не квадратные обычные bb скобочки для оптимизации работы скрипта.

Правило: Ограничение только одно - одну подсказку нельзя вставить внутрь другой. В остальном же в тег подсказки можете вставлять любые дргуие теги - картинки, ссылки, жирный или цветной текст, чо угодно, конфликтов не будет.

Вставлять строго в HTML низ
Вариант со сворачиванием

    <script type="text/javascript">
    var teg=">"
    var teg1="<p>"
    var hint="</div>"
    var hint1="<div style='display: none;'>"
    var hint2="display: none"
    var hid="if (innerHTML.toLowerCase().indexOf(hint2)!=-1) {innerHTML=innerHTML.substring(0, (innerHTML.toLowerCase().indexOf(teg)+1))"+"+innerHTML.substring((innerHTML.toLowerCase().indexOf(teg1)), (innerHTML.length-6))} else {innerHTML=innerHTML.substring(0, (innerHTML.toLowerCase().indexOf(teg)+1))+hint1+innerHTML.substr(innerHTML.toLowerCase().indexOf(teg1))+hint}"
    var trt="<div onclick='"+hid+"'>"+"<img src='http://uploads.ru/images/k/karpoff/down.gif' /><div style='display: none;'><p>"
    var trt1="</p></div></div>"
    var quers=document.getElementById('pun-main').getElementsByTagName("div")
    var pl=0
    for (pl=0; pl<=(quers.length-1); pl++)
    {if (quers[pl].className=="post-body")
    {quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;spoiler&gt;/g, trt)
    quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;endspoiler&gt;/g, trt1)}}
    </script>

Вариант без сворачивания (при повторных кликах с подсказкой ничего не происходит)

    <script type="text/javascript">
    var teg=">"
    var teg1="<p>"
    var hint="</div>"
    var hint1="<div style='display: none;'>"
    var hint2="display: none"
    var hid="if (innerHTML.toLowerCase().indexOf(hint2)!=-1) {innerHTML=innerHTML.substring(0, (innerHTML.toLowerCase().indexOf(teg)+1))"+"+innerHTML.substring((innerHTML.toLowerCase().indexOf(teg1)), (innerHTML.length-6))}"
    var trt="<div onclick='"+hid+"'>"+"<img src='http://uploads.ru/images/k/karpoff/down.gif' /><div style='display: none;'><p>"
    var trt1="</p></div></div>"
    var quers=document.getElementById('pun-main').getElementsByTagName("div")
    var pl=0
    for (pl=0; pl<=(quers.length-1); pl++)
    {if (quers[pl].className=="post-body")
    {quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;spoiler&gt;/g, trt)
    quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;endspoiler&gt;/g, trt1)}}
    </script>

Вместо жирного можете вставить свою картинку. В своем скрипте я нагло скоммуниздила картинку из скрипта карпова по скрытию категорию, надеюсь он не против =)))

Также в нагрузку предлагаю для желающих скрипт фильтр защиты от дурака. Так как на каждом форуме найдутся криворукие пользователи, которые что-то обязательно напутают с тегами, случайно сотрут закрывающий тег или вставят одну подсказку в другую, что может вызвать неприятности в отображении страницы с их сообщением, этот фильтр запртит им отсылать сообщение. пока они не включат моск и не исправят ошибки.
Вставлять также в HTML-низ.

    <script type="text/javascript">
    if ((document.URL.indexOf("viewtopic.php")!=-1)||(document.URL.indexOf("post.php")!=-1))
    {document.getElementsByName("submit")[0].onclick=checkSpoilers}

    function checkSpoilers()
    {
    var ents=new Array()
    var qa=0
    ents[0]=document.getElementsByTagName("textarea")[0].value
    qa=1

    while (ents[qa-1].indexOf("<spoiler>")!=-1)
    {
    ents[qa]=ents[qa-1].substr((ents[qa-1].indexOf("<spoiler>")+2))
    if ((ents[qa].indexOf("<endspoiler>")==-1)||((ents[qa].indexOf("<endspoiler>")!=-1)&&(ents[qa].indexOf("<spoiler>")!=-1)&&(ents[qa].indexOf("<endspoiler>")>ents[qa].indexOf("<spoiler>"))))
    {alert("Вы поместили одну подсказку внутри другой, или же забыли закрыть тег подсказки. Вернитесь к сообщению и исправьте ошибки, затем снова нажмите отправить")
    return false}
    else
    {qa=qa+1}}}

    </script>

И, наконец, кнопка для вставки тега - в HTML под формой ответа.

    <input type="button" value="Подсказка" onclick="insert_text('<spoiler>', '<endspoiler>')" />

0

10

Новый спойлер

вот написал скрипт для спойлера.
Поддерживает множественные спойлеры и даже встроенные

Работает по принципу bbcode, тоесть есть тег

Свернутый текст

текст внутри которого превращается в спойлер. Для удобства добавил кнопочку в панели над формой ответа. (Чтобы поменять картинку на свою замените адрес выделенный жирным)
/* картинка предоставлена MegaMan*/

ВСТАВЛЯЕМ В html-НИЗ!!!
конечно удобнее его вставить в html в форме ответа, но тогда гости не смогут видеть его.

ВНИМАНИЕ! Никакой защиты от дурака в нём нет, так что следите за правильностью написания тегов чтобы не получилось билеберды.

    <script>
    function addSpoiler(str,from,internal){
    var pos=0,pos2=0,newpos=0
    if((pos=str.indexOf("

Свернутый текст

",from))==-1) return str;
    if((pos2=str.indexOf("

"),pos+9)==-1) return str;
    newpos=str.indexOf("

Свернутый текст

",pos+9)
    if(newpos<pos2 && newpos!=-1) str=addSpoiler(str,pos+9,true)
    if((pos2=str.indexOf("

",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("

Свернутый текст

")!=-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(14).innerHTML="<img onclick=\"insert_text('[spoiler]', '

')\" src='http://karpoff.5bb.ru/uploads/karpoff/2_spoiler.gif' alt='Спойлер' />"
    </script>

ps
работоспособность смотрим тут
о багах сообщаем...

0


Вы здесь » полигон » Тестовый форум » скрипты для теста