Форум фанатов игры StarCraft 2

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

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


Вы здесь » Форум фанатов игры StarCraft 2 » Скрипты (JavaScript) » Скрипты для форумов. (Добавьте новые возможности вашему форуму)


Скрипты для форумов. (Добавьте новые возможности вашему форуму)

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

1

Скрипт универсального цветовыделения групп

<script type="text/javascript">
var arr=document.links
var arr1=new Array ("Admin", "")   
var arr2=new Array ("DREД", "")
for (x in arr)
{for (y in arr1)
{for (j in arr2)
{if (arr[x].innerHTML==arr1[y])
{var b=arr[x].innerHTML
arr[x].innerHTML="<font color='red'>"+b+"</font>"}
else if (arr[x].innerHTML==arr2[j])
{var c=arr[x].innerHTML
arr[x].innerHTML="<font color='#0000FF'>"+c+"</font>"}}}}
</script>

В красную строчку в скобочки, через запятую, в кавычках, пишем имена админов
В синию - модеров.
Меняет цвета админов на красный, модеров на синий - на всем форуме.

0

2

Данный скрипт создаст кнопку в строке значков сообщения.
Благодаря которой форумчане смогут загружать любые файлы размером до 1Gb.
Все файлы будут хранится на отдельных серверах не связанных в forumbb.ru.
Также, при желании, можно назначить пароль на файл.

Код:
<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell([color=red]19[/color]).innerHTML="<a href='javascript:void(0);' onclick=\"window.open('http://www.sharing.ru/upload/partner.php?id=1', 'uploadfile', 'width=500, height=275, top=200, left=200');\"><img title='Вставить файл' src='http://help.forumbb.ru/uploads/0000/14/a5/12680-1.jpg' width='21' height='20' /></a>"
</script>

Красным цветом выделен порядковый номер в строке значков. Отсчет идет с 0.

Скрипт вставляй те в » Администрирование - Настройки - HTML в форме ответа.
Кнопка следующего типа

http://i061.radikal.ru/1009/21/76eabe0e1e0b.jpg

0

3

Новые символы в форме ответа(тудаже их и ставим)

Код:
<img onclick="return changeVisibility('greec', this)" src="http://keep4u.ru/imgs/b/070610/e44d750f0137717f20.jpg"/>
<div class="container" id="greec" style="display:none; width:199px; position: absolute; z-index: 2">
<div id="greec">
<img src="http://keep4u.ru/imgs/b/070610/84e403178f22daa0e2.jpg"  style="cursor: pointer" onclick="insert_text('α', '');" />
<img src="http://keep4u.ru/imgs/b/070610/1e8d617f8124c6d8ae.jpg"  style="cursor: pointer" onclick="insert_text('β', '');" />
<img src="http://keep4u.ru/imgs/b/070610/3473800afc2ff2d136.jpg"  style="cursor: pointer" onclick="insert_text('γ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/383d53e4b87a15c7c4.jpg"  style="cursor: pointer" onclick="insert_text('δ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/2e8b75de42ecc86680.jpg"  style="cursor: pointer" onclick="insert_text('ε', '');" />
<img src="http://keep4u.ru/imgs/b/070610/2bc62f70464302720e.jpg"  style="cursor: pointer" onclick="insert_text('ζ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/18d210a79d7109e588.jpg"  style="cursor: pointer" onclick="insert_text('η', '');" />
<img src="http://keep4u.ru/imgs/b/070610/f5104a5d409c2127ba.jpg"  style="cursor: pointer" onclick="insert_text('θ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/516d34b7d1e7200166.jpg"  style="cursor: pointer" onclick="insert_text('ι', '');" />
<img src="http://keep4u.ru/imgs/b/070610/af0b603f911a5a4df8.jpg"  style="cursor: pointer" onclick="insert_text('κ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/7f44cfbe738fc5be3c.jpg"  style="cursor: pointer" onclick="insert_text('λ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/ef63170bd479aec56b.jpg"  style="cursor: pointer" onclick="insert_text('μ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/ac176c28f4b732119f.jpg"  style="cursor: pointer" onclick="insert_text('ν', '');" />
<img src="http://keep4u.ru/imgs/b/070610/9deac74a3f09843a77.jpg"  style="cursor: pointer" onclick="insert_text('ξ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/87661f0a1c86a48014.jpg"  style="cursor: pointer" onclick="insert_text('π', '');" />
<img src="http://keep4u.ru/imgs/b/070610/6fdaa3261c5b61a9b7.jpg"  style="cursor: pointer" onclick="insert_text('ρ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/ed055c6d37e5adf59a.jpg"  style="cursor: pointer" onclick="insert_text('σ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/61570dba0559397577.jpg"  style="cursor: pointer" onclick="insert_text('τ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/ea2fceeefb055c2992.jpg"  style="cursor: pointer" onclick="insert_text('υ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/283738116c74b1762b.jpg"  style="cursor: pointer" onclick="insert_text('φ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/1dd2005fdcbfa2a28d.jpg"  style="cursor: pointer" onclick="insert_text('ψ', '');" />
<img src="http://keep4u.ru/imgs/b/070610/899deca2c3f72bf904.jpg"  style="cursor: pointer" onclick="insert_text('ω', '');" />

</div>
</div>

<img onclick="return changeVisibility('greec_b', this)" src="http://keep4u.ru/imgs/b/070707/64e6199ebabf724bf8.jpg"/>
<div class="container" id="greec_b" style="display:none; width:199px; position: absolute; z-index: 2">
<div id="greec_b">
<img src="http://keep4u.ru/imgs/b/070707/64e6199ebabf724bf8.jpg"  style="cursor: pointer" onclick="insert_text('∆', '');" />
<img src="http://keep4u.ru/imgs/b/070707/205397b552546e547c.jpg"  style="cursor: pointer" onclick="insert_text('Θ', '');" />
<img src="http://keep4u.ru/imgs/b/070707/5e22c27f54795a045f.jpg"  style="cursor: pointer" onclick="insert_text('Λ', '');" />
<img src="http://keep4u.ru/imgs/b/070707/89014ae17b7f44e3fe.jpg"  style="cursor: pointer" onclick="insert_text('Ξ', '');" />
<img src="http://keep4u.ru/imgs/b/070707/c4a2d2594d99115de5.jpg"  style="cursor: pointer" onclick="insert_text('Σ', '');" />
<img src="http://keep4u.ru/imgs/b/070707/3940412622f085b736.jpg"  style="cursor: pointer" onclick="insert_text('Ψ', '');" />
<img src="http://keep4u.ru/imgs/b/070707/b31cfbd113ba2ff0db.jpg"  style="cursor: pointer" onclick="insert_text('Ω','');" />
</div>
</div>

0

4

Связь с Администрацией через ICQ.

Скрипт позволяет выводить в любом месте ссылку со статусом В сети/Не в сети  номера администратора и при клике открывается форма отправки сообщения, после которого в эту же секунду администратор полчаует сообщение на свой номер. В клиенте icq отключите опцию "Не принимать сообщения, содержащие web-ссылки" т.к. сообщение приходит вместе с e-mail'ом отправителя.

Код:
<script language="JavaScript">
function poppict()
{
var msg = new String("")
msg = ""

popup = window.open("http://www.icq.com/people/webmsg.php?to=НОМЕР","popDialog","height=550,width=500")
popup.document.write(msg)
popup.document.close()

return false
}
</script>
<a id="poppict" onclick="return poppict()"><img src=http://status.icq.com/online.gif?icq=НОМЕР&img=5 border=0 width=18 height=18>Написать администратору</a>

В данном скрипте 2 раза в строках 7 и 14 ищите слово НОМЕР и ставите свой номер аси.
Вставлять в то место, куда душе угодно.

0

5

Загрузка изображения с помощью Imageshack.us

Уже давно наболел вопрос по поводу загрузки изобраения на форум... Этот скрипт позволит на время забыть Вам эту проблему.

Код:
<table><tr>
      <td align="right" valign='top' width='20%'>
     <b>Загрузить картинку на ImageShack.us
Загрузка будет производиться в новом окне</b>
      </td>
      <td align="left" width='80%'>
     <iframe src="http://www.imageshack.us/iframe.php?txtcolor=111111" frameborder="0" height="70" scrolling="no" width="280">
</iframe>
     </td>
  </tr>
</table>

Вставлять в HTML в форме ответа.

0

6

Загрузка файлов Простой вариант

Код:
<script language="JavaScript">
    function poppict()
    {
    var msg = new String("")
    msg = ""

    popup = window.open("http://filestock.ru/","popDialog","height=400,width=600")
    popup.document.write(msg)
    popup.document.close()

    return false
    }
    </script>
    <a id="poppict" onclick="return poppict()">Загрузка файлов</a>

0

7

Цепляемый картинку к категории.

Код:
<script type="text/javascript">
var logo="<img src='ВСАВЛЯЕМ СВОЮ КАРТИНКУ'>"
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].className=="category"){
name=arr[i].innerHTML
name=name.substring(48)
arr[i].innerHTML="<h2><div class=\"catleft\"><!-- --></div><span> "+logo+" &ensp;"+name+""
}
i++
}
</script>

в хтмл-низ

0

8

Информационное табло.

Код:
<script type="text/javascript">
var doska="Скрипт позволяет вывести дополнительное поле с объявлением."
var arr=document.getElementsByTagName("div")
i=0
str=document.URL
while(arr[i] ){
if((str.substring(str.lastIndexOf('/')+1)=="" || str.substring(str.lastIndexOf('/')+1)=="index.php") && arr[i].className=="main"){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div class=container><b> <br><font size=2>Информационное табло:</font></b><br><br>"+doska+"</div><br>"+name+""
}
i++
}
</script>

Все что подчеркнуто можете менять на свое. Не делаем лишних переносом непосредственно кнопкой enter, используем чистый html без ковычек! Табло будет отображаться только на главной страничке

0

9

Новые иконки в форме ответа:

Код:
<style>
#form-buttons table, .punbb .formal textarea {width:99%}
#form-buttons td {padding:0; line-height:0; background-position:center; background-repeat:no-repeat}
#form-buttons td img {height:26px; width:100%}
#button-font {background-image:url('картинка шрифт')}
#button-size {background-image:url('картинка размер')}
#button-bold {background-image:url('картинка жирность')}
#button-italic {background-image:url('картинка курсив')}
#button-underline {background-image:url('картинка подчеркивание')}
#button-strike {background-image:url('картинка зачеркивание')}
#button-left {background-image:url('картинка влево)}
#button-center {background-image:url('картинка центр')}
#button-right {background-image:url('картинка вправо')}
#button-link {background-image:url('картинка ссылок')}
#button-email {background-image:url('картинка мыла')}
#button-image {background-image:url('картинка картинок')}
#button-hide {background-image:url('картинка скрытого текста')}
#button-quote {background-image:url('картинка цитаты')}
#button-code {background-image:url('картинка кода')}
#button-color {background-image:url('картинка цветов')}
#button-smile {background-image:url('картинка смайлов')}
#button-keyboard {background-image:url('картинка клавиатуры')}
#button-imageup {background-image:url('картинка загрузки изображений')}
</style>

0

10

цветовыделение на форуме

Код:
<script language="JavaScript">
modList = new Array(9,8,6,5,4,3)
admList = new Array(2,7)

modColor="#0000FF"
admColor="Red"


function checkNik(list,id)
{
i=0
while(list[i]){
    if(id==list[i])
    return true;
    i++
}
return false
}
function editLink(alink,color)
{
alink.innerHTML = "<font color="+color+">"+alink.innerHTML+"</font>"
}

page=document.URL
page=page.substring(page.lastIndexOf("/")+1)
if(page=="" || page=="index.php") {

arr=document.getElementById("pun-stats").getElementsByTagName("li")[4].getElementsByTagName("a")
x=0
while(arr[x])
{
hr=arr[x].href
id=hr.substring(hr.indexOf("=")+1)
if(checkNik(modList,id))
    editLink(arr[x],modColor)
if(checkNik(admList,id))
    editLink(arr[x],admColor)
x++
}

arr=document.getElementById("pun-stats").getElementsByTagName("li")[5].getElementsByTagName("a")
x=0
while(arr[x])
{
hr=arr[x].href
id=hr.substring(hr.indexOf("=")+1)
if(checkNik(modList,id))
    editLink(arr[x],modColor)
if(checkNik(admList,id))
    editLink(arr[x],admColor)
x++
}
}
</script>

Теперь настройки...
вначале смотрим выделенное. Это фактически список админов и модеров.
В переменную modList записываем через запятую id модеров (узнать их можно посмотрев ссылку на их профиль. число идущее после id=..)
Соответственно в переменную admList записываем id админов.

Теперь смотрим выделенное второе. Это цвета, которыми выделяются модеры(modColor) и админы(admColor). Меняем их на нужные. Можно использовать как текстовые названия цветов, так и полные числовые, как показано в примере.

Вставляем в html-низ

0

11

Сворачивание подписи.

В хтмл в форме ответа или в хтмл-низ ставим следущее:

Код:
<script language="JavaScript1.2">
<!--
var ns6=document.getElementById&&!document.all?1:0

var head="display:''"
var folder=''

function expandit(curobj){
folder=ns6?curobj.nextSibling.nextSibling.style:document.all[curobj.sourceIndex+1].style
if (folder.display=="none")
folder.display=""
else
folder.display="none"
}

//-->
</script>
<script type="text/javascript">
var arr=document.getElementsByTagName("dl")
i=0
str=document.URL
while(arr[i] ){
if(arr[i].className=="post-sig"){
name=arr[i].innerHTML
name=name.substring(43)
arr[i].innerHTML="<dt><span>Подпись автора</span></dt><dd><p><span style='cursor:hand' onClick='expandit(this)'>Показать подпись</span><span  style='display:none' style=&{head};><br>"+name+"</span></p></dd>"
}
i++
}
</script>

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

0

12

Окантовка профиля в сообщении.

Вариант первый

В html-верх

Код:
<style>
#pun #pun-index #pun-announcement h2 span {display: none;}
.post-author online, .pa-adnote, .pa-from, .pa-reg, .pa-posts, .pa-reputation, .pa-sex, .pa-icq, .pa-ip, .pa-online, .pa-age, .pa-mailagent, .pa-reg, .pa-avatar, .pa-title, .pa-author, .pa-time-visit, .pa-last-visit, .pa-fld1, .pa-fld2, .pa-fld3, {
   background: #fafcfe;
   border: 1px solid #cdd6e2;
   border-bottom-width: 2px;
   border-right-width: 2px;
   margin: 3px 1px 3px 1px;
}
</style>

Результат увидите сами.

Вариант второй:
Это в верх:

Код:
<style>
.memdetails
{
   background: #fafcfe;
   border: 1px solid #cdd6e2;
   border-bottom-width: 2px;
   border-right-width: 2px;
   padding: 4px 3px 4px 3px;
   margin: 3px 1px 3px 1px;
}
</style>

Это вниз:

Код:
<script type="text/javascript">
var arr=document.getElementsByTagName("li")
i=0
str=document.URL
while(arr[i] ){
if((arr[i].className=="pa-author online") || (arr[i].className=="pa-author") || (arr[i].className=="pa-title") || (arr[i].className=="pa-avatar item2") || (arr[i].className=="pa-reg") || (arr[i].className=="pa-posts") || (arr[i].className=="pa-respect") || (arr[i].className=="pa-positive") || (arr[i].className=="pa-ip") || (arr[i].className=="pa-online")){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div class=memdetails>"+name+"</div>"
}
i++
}
</script>

Оконтовка получится немножко другая.

0

13

Заданый стиль на главной странице.

Ставить в хтмл-верх:

<script type="text/javascript">
if(document.getElementById("pun-index"))
document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/style/Mybb_Achtung/Mybb_Achtung.css\" />")
</script>

Mybb_Achtung меняете на название нужного стиля 2 раза, который и будет отображаться на главной странице.

0

14

Изменяем надписи в панеле ссылок.

в хтмл-низ

Выделеное жирным шрифтом меняем на свое

Для изменения слова "Форум"

Код:
<script>
<!--
indexof="[b]Форумочек[/b]" 
str = document.getElementById("navindex").innerHTML
pos = str.indexOf("Форум")
document.getElementById("navindex").innerHTML=str.substring(0,pos)+indexof+str.substring(pos+5,str.length-1)
-->
</script>

Для изменения слова Участники

Код:
<script>
<!--
userof="[b]Люди[/b]" 
str = document.getElementById("navuserlist").innerHTML
if( (pos=str.indexOf("Участники")) != -1 )
document.getElementById("navuserlist").innerHTML=str.substring(0,pos)+userof+str.substring(pos+9,str.length-1)
-->
</script>

Для изменения слова Правила

Код:
<script>
<!--
pravilof="[b]Законы[/b]" 
str = document.getElementById("navrules").innerHTML
pos = str.indexOf("Правила")
document.getElementById("navrules").innerHTML=str.substring(0,pos)+pravilof+str.substring(pos+14,str.length-1)
-->
</script>

Для изменения слова Поиск

Код:
<script>
<!--
findof="[b]Найти[/b]" 
str = document.getElementById("navsearch").innerHTML
pos = str.indexOf("Поиск")
document.getElementById("navsearch").innerHTML=str.substring(0,pos)+findof+str.substring(pos+5,str.length-1)
-->
</script>

Для изменения слова Профиль

Код:
<script>
<!--
faseof="[b]Профайл участника[/b]" 
str = document.getElementById("navprofile").innerHTML
pos = str.indexOf("Профиль")
document.getElementById("navprofile").innerHTML=str.substring(0,pos)+faseof+str.substring(pos+14,str.length-1)
-->
</script>

Для изменения слова Сообщения

Код:
<script>
<!--
pismaof="[b]Мессаги[/b]" 
str = document.getElementById("navpm").innerHTML
pos = str.indexOf("Сообщения")
document.getElementById("navpm").innerHTML=str.substring(0,pos)+pismaof+str.substring(pos+9,str.length-1)
-->
</script>

Для изменения слова Администрирование

Код:
<script>
<!--
godof="[b]Админ-панель[/b]" 
str = document.getElementById("navadmin").innerHTML
pos = str.indexOf("Администрирование")
document.getElementById("navadmin").innerHTML=str.substring(0,pos)+godof+str.substring(pos+17,str.length-1)
-->
</script>

Для изменения слова Выход

Код:
<script>
<!--
valiof="[b]Уйти[/b]" 
str = document.getElementById("navlogout").innerHTML
pos = str.indexOf("Выход")
document.getElementById("navlogout").innerHTML=str.substring(0,pos)+valiof+str.substring(pos+5,str.length-1)
-->
</script>

Для изменения слова Вход

Код:
<script>
<!--
vxodiof="[b]Зайти[/b]" 
str = document.getElementById("navlogin").innerHTML
pos = str.indexOf("Войти")
document.getElementById("navlogin").innerHTML=str.substring(0,pos)+vxodiof+str.substring(pos+5,str.length-1)
-->
</script>

Для изменения слова Регистрация

Код:
<script>
<!--
regof="[b]Рега на форуме[/b]" 
str = document.getElementById("navregister").innerHTML
pos = str.indexOf("Регистрация")
document.getElementById("navregister").innerHTML=str.substring(0,pos)+regof+str.substring(pos+18,str.length-1)
-->
</script>

0

15

Добавить в закладки (Opera + Mozilla)

Код:
<a href="[b]http://help.forumbb.ru[/b]" rel="sidebar" onClick="return createBookmark('[b]Название форума[/b]');">[b]Добавь в закладки[/b]</a>

Жирное менять на свое. Вставлять туда, где хотите их видеть

0

16

Генератор таблиц (BB-таблицы).

Описание
    Скрипт поставит в форму ответа ссылку, при нажатии которой открывается сразу под ней меню для создания таблиц из BB-кодов [table*], [tr*], [td*] (без звездочек). Вам предложат ввести кол-во необходимых строк и ячеек, после этого жми "Создать" и вы увидете сгенерированую таблицу. Выделите все теги (для этого есть кнопка Выделить) и скопируйте их, нажмите "Назад" и в тело сообщения поставьте данный код, изменив описание ячеек.
• Установка
    Скрипт ставить строго в HTML в форме ответа.

Код:
<script language="JavaScript1.2">
<!--
var ns6=document.getElementById&&!document.all?1:0

var head="display:''"
var folder=''

function expandit(curobj){
folder=ns6?curobj.nextSibling.nextSibling.style:document.all[curobj.sourceIndex+1].style
if (folder.display=="none")
folder.display=""
else
folder.display="none"
}

//-->
</script>
<SCRIPT language=JavaScript>
<!--
function MM_openBrWindow(theURL,winName,features) { 
  window.open(theURL,winName,features);
}
  function InsSM()
   {
   var table = '[table'+document.all.Bgcolor.value+document.all.Dkcolor.value+document.all.Ltcolor.value+']';

  for (var x=0; x<document.all.rows.value; x++) {
    table += "[tr]";
    for (var y=0; y<document.all.cols.value; y++) {
      table += "[td]Ячейка[/td]";
    }
    table += "[/tr]";
  }
  table += "[/table]\n";
    document.all.theCode.value=(table);
document.write('<b><font size=2 color=#555555 face=Arial, Helvetica, sans-serif>Скопируйте эти теги в ваше сообщение</font></b><br><textarea name=theCode cols=50 rows=6>'+table+'</textarea><br><input type=button name=Button value=Выделить onClick=document.all.theCode.select();document.all.theCode.focus()><br><br><br>');
document.write('<p><input type=button name=button value=Назад onClick=history.back()></p><Br><br>Скрипт написан компанией <a href=http://rusff.ru target=_blank>RusFF</a>.');


}

function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_showHideLayers() { 
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</SCRIPT>
<h4 style='cursor:hand' onClick='expandit(this)'>Сделать таблицу</h3>
<TABLE width=300 style='display:none' style=&{head};>
  <TR>
    <TD>Строк: <INPUT maxLength=3 size=3 value=1 name=rows></TD>
    <TD>Ячеек: <INPUT maxLength=4 size=3 value=1 name=cols></TD>
    <td><INPUT type=hidden name=Bgcolor><INPUT type=hidden name=Dkcolor><INPUT type=hidden name=Ltcolor></td>
    <TD colSpan=4><A href="http://rusff.ru/" target=_blank><B>RusFF ©</B></A><BR><INPUT type=hidden name=theCode> <INPUT onclick=InsSM() type=button value="Создать" name=Button2></TD>
</TR>
</TABLE>

0

17

Данные UserAgent.

Думаю подйдет больше для форумов с компьютерной или околокомпьютерной тематикой.
В форме ответа появляется кнопка. При клике в форму ответа видает данные браузера и ОС.
Ставить в форму ответа, кнопка там и будет отображаться.

Код:
<SCRIPT LANGUAGE="JavaScript">
var name = navigator.appName;
var vers = navigator.appVersion;
document.write("<input type=button value=UserAgent onclick=\"smile('.::"+name+vers+"::.')\">");
</SCRIPT>

0

18

Загрузка изображений.

На более мощной основе.

Скрипт поставит в форму ответа кнопку. После нажатия появится окно, где вас попросят залогиниться или зарегистрироваться в системе. После входа в свой аккаунт вы можете загрузить изображения. В этом же окошке и появится ссылка на изображение. Удобство  заключается в том, что все делает  в пару кликов "не отходя от кассы".

Код:
<style>
#button-servimg {background-image:url('http://illiweb.com/fa/wysiwyg/picture_save.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<img src='/i/blank.gif' title='Загрузка изображений' id='button-servimg'  onclick=\"return changeVisibility('obj_servimg', this)\"/>"
</script>
<div class="container" id="obj_servimg" style="display:none; width:540px; position: top center;; z-index: 2">
<div id="smilies-block">
<p><iframe id="obj_servimg" src="http://www.servimg.com/forum_upload.php?account=&id=&f=1" width="540" height="230" border="0" scrolling="no"></iframe><br><b>Для работы с приложением Вам нужно зарегистрировать в системе и ввести в окно ввода логина и пароля свои данные</b></p>
</div>
</div>

Вставлять строго в HTML в форме ответа.

Незабудьте зарегистрировать себе аккаунт в системе. В дальнейшем вы можете управлять своими файлами тут http://www.servimg.com

0

19

Приделываем к логотипу ссылку на главную страницу.

Код:
<script type="text/javascript">
nameforum="Название вашего форума"
var arr=document.getElementsByTagName("td")
i=0
while(arr[i] ){
if(arr[i].className=="title-logo-tdl"){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<a href='/' style=\"cursor: pointer;\" title='"+nameforum+"'>"+name+"</a>"
}
i++
}
</script>

Скрипт сделает ваш логотип кликабельным и при клике перенесет вас на главную страницу

0

20

Предупреждение о содержимом раздела.
После установки скрипта при клике на выбранный Вами раздел, форум выведет предупреждение о разделе, пользователь может нажать кнопку Продолжить, либо отмена.

Код:
<script type="text/javascript">
var forum = "[b]http://help.forumbb.ru[/b]"
function changeLink()
{var arr=document.links
for (j in arr)
{
if (arr[j].href==forum+"/viewforum.php?id=[color=red]x[/color]")
{arr[j].href="javascript: warn()"}
}}
function warn()
{
  if (confirm('Данный раздел содержит ненормативную лексику. Продолжить просмотр?'))
    location.href = forum+"/viewforum.php?id=[color=red]x[/color]";
}
changeLink()
</script>

где x - номер раздела, Вставлять в HTML-низ

0

21

Реклама во втором посте.

Код:
<script type="text/javascript">
var content="<center><a href=[b]'http://forumbb.ru/new.php' [/b]target='_blank'><img src=[b]http://img216.imageshack.us/img216/3254/01a58e21f3dacq9.gif[/b]></a></center>";
var namead="[b]ForumBB[/b]";
var ava="<br /> [b]Реклама[/b]";
var sup="Advert agent - block1";
var sub="Advert agent - block2";

var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if((arr[i].className=="post topicpost") || (arr[i].className=="post toppost") || (arr[i].className=="post topicpost endpost")){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML=name+"<div class=post><h3><span><strong>#</strong>"+sup+"</span></h3><div class=container><div class=post-author><ul><li class=pa-author><a href=javascript:to('Agent')>"+namead+"</a></li><li class=pa-avatar item2>"+ava+"</li></ul></div><div class=post-body><div class=post-box><div class=post-content><p>"+content+"</p></div></div></div><div class=post-links><ul><li>"+sub+"<span class=acchide>г</span></li></ul></div></div></div>"
}i++}
</script>

Надписи ставить свои.
Если виден всем - ставить в HTML-низ.
Пользователям - HTML в форме ответа

0

22

Информационная панель с данными пользователей.

Наверняка вы видели уже такую вещь на форумах IPB, vBulletin и т.д.
Появляется блок с информацией: Ник, Имя, Аватар, Статус, Возраст, Дата рождения, уважение, позитив, время на форуме, дата регистрации и прочее.
Скрипт может неким образом заставить пользователя заполнить недостающие поля в профиле, иначе он будет лицезреть надписи вида "не поределено".
Пользователям показывает одну информацию, Гостям - другую.

Код:
<script type="text/javascript">
var mon_array = new Array("", "Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");
Tm = new Date();
Tm.setTime(1000*UserRegistered);
m=Tm.getMonth()+1;
if (m<10) m=m;
hh=Tm.getHours();
mm=Tm.getMinutes()+'';
if (mm<10) mm=mm;
tm='<strong>'+Tm.getDate()+'&nbsp;'+mon_array[m]+'</strong>&nbsp;в&nbsp;<strong>'+hh+':'+mm+'</strong>';
var UserTotalReg = Math.floor(UserTotalTime/86400)
var UserTotalPost = Math.floor(UserPosts/60)
var sex_array = new Array("Пол неопределен. Войдите в <a href='/profile.php?section=personal&id="+UserID+"'>Профиль</a> и установите пол", "Ваш пол: <strong>Муж</strong>", "Ваш пол: <strong>Жен</strong>");
var sex = sex_array[UserSex]
if (UserAvatar == ""){UserAvatar = "http://s54.radikal.ru/i145/0808/84/e1fbc11ac605.png"}
if (UserBirthDate == ""){UserBirthDate = "Дата не выставлена"}
if (UserAge == "0"){UserAge = "[Нет сведений]"}
var user=", <strong>"+UserName+"</strong>";
if (user == ", <strong></strong>"){user = ""}
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].id=="pun-main") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div class=category><h2>Информационное табло</h2><div class=container><table border=0><tr><td><a href='/profile.php?section=avatar&id="+UserID+"' title='Изменить аватару'><img src="+UserAvatar+"></a><br /><strong>"+UserTitle+"</strong></td><td width=40%>Приветствуем на форуме"+user+"!<br />"+sex+"<br />Вы используете стиль: <strong>"+BoardStyle+"</strong><br />Вы в группе  <strong>"+GroupTitle+"</strong><br />На форуме Вами было оставлено <strong>"+UserPosts+"</strong> сообщений<br />Ваш возраст: <strong>"+UserAge+"</strong>.<Br />Ваш день рождения: <strong>"+UserBirthDate+"</strong><br /><br />Профиль <a href='/profile.php?id="+UserID+"'>"+UserLogin+"</a> | Ваши <a href='/userlist.php?&show_group="+GroupID+"'>соучастники</a></td><td width=40%><strong>Отношения</strong><br /><br /><a href='/respect.php?id="+UserID+"'>Уважение</a>: <strong>"+UserRespectPlus+"</strong>/<strong>"+UserRespectMinus+"</strong><br /><a href='/positive.php?id="+UserID+"'>Позитив</a>: <strong>"+UserPositivePlus+"</strong>/<strong>"+UserPositiveMinus+"</strong><Br /><Br />Вы зарегистрировались "+tm+" и провели на форуме <strong>"+UserTotalReg+"</strong> дней</td></tr></table></div></div><br />"+name
}i++}
</script>
<script type="text/javascript">
var arr=document.getElementsByTagName("div")
i=0
str=document.URL
while(arr[i] ){
if(arr[i].id=="pun-main" && GroupID == "3") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div class=category><h2>Информационное табло</h2><div class=container><table border=0><tr><td><img src=http://s54.radikal.ru/i145/0808/84/e1fbc11ac605.png></td><td width=80%>Приветствуем тебя на форуме, Гость.<br />Для участия в конференциях просьба <a href='login.php'>войти</a> или <a href='register.php'>зарегистрироваться</a>.</td></tr></table></div></div><Br />"+name
}
i++
}
</script>

Менять в скрипте ничего не нужно. По желанию (опытным) можно изменить структуру вывода, все надписи, порядок и адреса картинки [нет_аватара]

Данный скрипт ставить в HTML-низ.
Со временем может случиться такое, что скрипт может не работать, в таком случае создайте тему на форуме с просьбой исправить. Это из-за исправления изменения вывода информации в джс.

Скриншоты ниже:
http://s55.radikal.ru/i147/0808/a4/ae0ba574fcd6.jpg - для гостей.
http://s50.radikal.ru/i129/0808/43/8b4c3383e761.jpg - для пользователей.

0

23

Кубики (Дайсы).

Скрипт позволит "кидать кубики" прямо на форуме.
Полезно для ролевых форумов.

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

Вариант 1.

Код:
<input type="button" onclick="dice()" value="Кинуть кубики" />
<script type="text/javascript">
function dice()
{
	var FoundErrors = '';
	var diceRes=""
	var CountCube = prompt("Количество кубиков", "3");
	var SideCube = prompt("Сколько граней у кубика?", "6");
	if(CountCube>9){
	alert("Нельзя бросать столько кубиков"); 
	return false;}
	if(SideCube>9){
	alert("Не бывает таких кубиков"); 
	return false;}
	if (!CountCube)
	{return false;}
	if (!SideCube)
	{return false;}
	for(i=0; i<CountCube;i++){
	var dice = (Math.round(Math.random()*SideCube))
	if(dice==0) dice=1;
	diceRes += dice*1936+"-"
	}
	smile('[dice='+diceRes+CountCube+SideCube+']')
}
</script>
<script>
function addDice(str,from,internal){
var pos=0,pos2=0,newpos=0
if((pos=str.indexOf("[dice=",from))==-1) return str;
if((pos2=str.indexOf("]"),pos+6)==-1) return str;
newpos=str.indexOf("]",pos+6)
if(newpos<pos2 && newpos!=-1) str=addDice(str,pos+6,true)
if((pos2=str.indexOf("]",pos+6))==-1) return str;
str=str.substring(0,pos)+makeDice(str.substring(pos+6,pos2))+str.substring(pos2+1,str.length)
if( str.indexOf("[dice=")!=-1 && internal==false) str=addDice(str,0,false)
return str}

function makeDice(dice){
diceMass = dice.split("-")
diceC = dice.substring(dice.length-2, dice.length-1)
diceS = dice.substring(dice.length-1, dice.length)
var diceR=0, diceRu="";
for(i=0;i<diceMass.length-1;i++){diceR+=diceMass[i]/1936;}
for(i=0;i<diceMass.length-1;i++){if(diceMass[i]==diceMass[diceMass.length-2]){diceRu+=diceMass[i]/1936;}else{diceRu+=parseInt(diceMass[i]/1936)+"+";}}
txt="<div class=\"quote-box\"><blockquote><p><b>Количество кубиков</b>: "+diceC+"<br /><b>Граней в кубике</b>: "+diceS+"<br /><br /><b>Результаты броска</b>: ("+diceRu+")="+diceR+"</p></blockquote></div>"
return txt}

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=addDice(post.innerHTML,0,false)}}
</script>

Вариант 2.

Код:
<input type="button" onclick="dice()" value="Кинуть кубики" />
<script type="text/javascript">
function dice()
{
	var FoundErrors = '';
	var diceRes=""
	var CountCube = prompt("Количество кубиков", "3");
	var SideCube = prompt("Сколько граней у кубика?", "6");
	if(CountCube>9){
	alert("Нельзя бросать столько кубиков"); 
	return false;}
	if(SideCube>9){
	alert("Не бывает таких кубиков"); 
	return false;}
	if (!CountCube)
	{return false;}
	if (!SideCube)
	{return false;}
	for(i=0; i<CountCube;i++){
	var dice = (Math.round(Math.random()*SideCube))
	if(dice==0) dice=1;
	diceRes += dice*1936+"-"
	}
	smile('[dice='+diceRes+CountCube+SideCube+']')
}
</script>
<script>
function addDice(str,from,internal){
var pos=0,pos2=0,newpos=0
if((pos=str.indexOf("[dice=",from))==-1) return str;
if((pos2=str.indexOf("]"),pos+6)==-1) return str;
newpos=str.indexOf("]",pos+6)
if(newpos<pos2 && newpos!=-1) str=addDice(str,pos+6,true)
if((pos2=str.indexOf("]",pos+6))==-1) return str;
str=str.substring(0,pos)+makeDice(str.substring(pos+6,pos2))+str.substring(pos2+1,str.length)
if( str.indexOf("[dice=")!=-1 && internal==false) str=addDice(str,0,false)
return str}

function makeDice(dice){
diceMass = dice.split("-")
diceC = dice.substring(dice.length-2, dice.length-1)
diceS = dice.substring(dice.length-1, dice.length)
var diceR=0, diceRu="";
for(i=0;i<diceMass.length-1;i++){diceR+=diceMass[i]/1936;}
for(i=0;i<diceMass.length-1;i++){if(diceMass[i]==diceMass[diceMass.length-2]){diceRu+=diceMass[i]/1936;}else{diceRu+=parseInt(diceMass[i]/1936)+"+";}}
txt="<div class=\"quote-box\"><blockquote><p><b>Исходный бросок</b>: "+diceC+"d"+diceS+"<br /><br /><b>Результаты броска</b>: ("+diceRu+")="+diceR+"</p></blockquote></div>"
return txt}

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=addDice(post.innerHTML,0,false)}}
</script>

Добавлено:
Добавил ограничение в количестве граней и кубиков. 10 максимум

0

24

Всплывающее описание раздела.

При наведени курсора на значок [?] покажет описание раздела.

Код:
<script type="text/javascript">
var a = document.getElementsByTagName("a")
for(i=0; i<a.length-1;i++){
if(a[i].href.indexOf("/viewforum.php?id=")!=-1){
    if(a[i].parentNode.parentNode.innerHTML.substring(a[i].parentNode.parentNode.innerHTML.toLowerCase().indexOf('</h3>')+5).length > 0)
    a[i].parentNode.innerHTML+=" <a title='"+a[i].parentNode.parentNode.innerHTML.substring(a[i].parentNode.parentNode.innerHTML.toLowerCase().indexOf('</h3>')+5)+"'>[?]</a>"
    a[i].parentNode.parentNode.innerHTML = a[i].parentNode.parentNode.innerHTML.substring(0, a[i].parentNode.parentNode.innerHTML.toLowerCase().indexOf("</h3>")+5)
}
}

</script>

Ставим в HTML-низ

0

25

Цветовыделение тем.

Когда будете начинать новую тему, справа от Заголовка будет выпадающее меню с цветами.
Если выбрать любой цвет, то на странице списка тем ваша тема будет выделена любым цветом

Код:
<script type="text/javascript">
if(document.URL.indexOf("viewforum.php")!=-1){
var a = document.getElementsByTagName("a");
var ins, col;
for( i=0; i<a.length; i++ ){
	if(a[i].href.indexOf("viewtopic.php")!=-1 && a[i].innerHTML.indexOf(";;")!=-1){
ins = a[i].innerHTML;
col = ins.substring(0, ins.indexOf(";;"))
txt = ins.substring(ins.indexOf(";;")+2)
a[i].innerHTML = "<span style=\"color: "+col+"\">"+txt+"</span>";
	}
}
} else if(document.URL.indexOf("viewtopic.php")!=-1){
var p = document.getElementsByTagName("p");
if(document.title.indexOf(";;")!=-1){
	document.title = document.title.substring(0, document.title.indexOf(" - ")+3)+document.title.substring(document.title.indexOf(";;")+2)
}
for( q=0; q<p.length; q++ ){
	if(p[q].className=="container crumbs" && p[q].innerHTML.indexOf(";;")!=-1){
p[q].innerHTML = p[q].innerHTML.substring(0, p[q].innerHTML.lastIndexOf("»")+1)+" "+p[q].innerHTML.substring(p[q].innerHTML.indexOf(";;")+2)
	}
}
} else if(document.URL.indexOf("post.php?fid=")!=-1 && GroupID<=2){
var colors = new Array();
colors.push(new Array('Красный', 'red'));
colors.push(new Array('Черный', 'black'));
colors.push(new Array('Желтый', 'yellow'));
colors.push(new Array('Оранжевый', 'orange'));
colors.push(new Array('Синий', 'blue'));
colors.push(new Array('Зеленый', 'green'));
colors.push(new Array('Серый', 'gray'));
var mmass = ""
for(x=0;x<colors.length;x++){
	mmass+="<option style=\"color: "+colors[x][1]+"\" value=\""+colors[x][1]+"\">"+colors[x][0]+"</option>"
}
var p1 = document.getElementsByName("req_subject")[0]
p1.style.visibility = 'hidden'
p1.parentNode.innerHTML+="<input onkeydown=\"st(document.getElementsByName('changer')[0].options[document.getElementsByName('changer')[0].selectedIndex].value)\" onkeyup=\"st(document.getElementsByName('changer')[0].options[document.getElementsByName('changer')[0].selectedIndex].value)\"   id=\"qwe_pole\" type=\"text\" name=\"qwe_pole\" value=\"\" size=\"80\" maxlength=\"70\" /> <select name=\"changer\" onchange=\"st(this.options[this.selectedIndex].value)\"><option value=\"default\">По-умолчанию</option>"+mmass+"</select>"
function st(value){
	if(document.getElementsByName("qwe_pole")[0].value!=""){
	t = document.getElementsByName("req_subject")[0];
	if(value!="default"){
if(t.value.indexOf(";;")!=-1){
	t.value=value+";;"+document.getElementsByName("qwe_pole")[0].value
} else {
	t.value=value+";;"+document.getElementsByName("qwe_pole")[0].value
}
	} else {
t.value=document.getElementsByName("qwe_pole")[0].value
	}
	}
}
}
</script>

0

26

Профилактика на форуме.

<div id="resplash" style="display: none;">
<div class='formal' style='height:200px; width:200px; margin:auto; margin-top:200px; font-family:tahoma; font-size:10px;'> <form id='login' class='container' method='post' action='login.php?action=in' onsubmit='return my_form(this)'><fieldset><span>Форум на профилактике</span><div class='fs-box inline'> <input type='hidden' name='form_sent' value='1' /><input type='hidden' name='redirect_url' value='index.php' /><p class='inputfield required'> <label for='fld1'>Имя <em>(Обязательно)</em></label><br /> <span class='input'> <input type='text' id='fld1' name='req_username' size='25' maxlength='25'/></span></p> <p class='inputfield required'> <label for='fld2'>Пароль <em>(Обязательно)</em></label><br /> <span class='input'> <input type='password'  id='fld2'  name='req_password'  size='25'  maxlength='25' /></span></p></div></fieldset> <center><p class='formsubmit'> <input type='submit' class='button' id='customebutton' name='login' value='Войти как Администратор' /></p></center></form></div></div>
<script type="text/javascript">
var active = 1;
if(GroupID != 1 && active == 1){
e10 = document.createElement('div')
e10.innerHTML = document.getElementById("resplash").innerHTML;
document.getElementsByTagName('body')[0].insertBefore(e10,document.getElementById('pun_wrap'))
document.write("<style type=\"text/css\">html, body {background: #fff;} #customebutton {margin: auto;} #pun {display: none;}</style>");
document.title= 'Форум на профилактике - '+document.title;
}
</script>

Как работает:

Скрывает форум ото всех кроме администраторов. На случай если администратор разлогинится - добавлена форма входа, актуальная только для администраторов, так как если пользователь даже и залогинится, ничего не увидет. Администратор же будет наблюдать форум в штатном режиме.

Примечания:

Не обязательно убирать скрипт после окончания профилактики, достаточно просто поменять 1 на 0 в строке var active = 1; и профилактика будет отключена. При необходимости можно возобновить профилактику произведя обратные действия, то есть поменяв 0 на 1 =)

Куда ставить:

В хтмл-верх (можно и вниз, но вверху будет быстрее срабатывать)

Тестирировалось:

Opera, Mozilla FireFox, IE
http://s43.radikal.ru/i099/1010/7e/b17082d21fcf.jpg

0

27

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

Сворачивание подписи.

Не всегда работает,надо ставить и проверять.Если в подписи картинка,то не раскрывает

0

28

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

Не всегда работает,надо ставить и проверять.Если в подписи картинка,то не раскрывает

Всё работает!

0


Вы здесь » Форум фанатов игры StarCraft 2 » Скрипты (JavaScript) » Скрипты для форумов. (Добавьте новые возможности вашему форуму)