Форум » Чердак для Борды » Дополнительные BB-теги (останки скрипта; автор - Cerber) » Ответить

Дополнительные BB-теги (останки скрипта; автор - Cerber)

Geek: Это размещалось после тега </BODY> [pre2] <!-- <SCRIPT> var pozition = 25 var mingroup = 0 var minrang = 0 var fcross = 1 var falign = 1 var fmono = 1 var fmail = 1 var fsize = 1 var fmark = 1 var fcell = 1 var ftab = 1 var fnum = 1 var fup = 1 var fdw = 1 </SCRIPT> <SCRIPT src="http://darkness.nm.ru/forum/bbcode.js" type=text/javascript></SCRIPT> <SCRIPT src="http://darkness.nm.ru/forum/icons.js" type=text/javascript></SCRIPT> --> [/pre2]

Ответов - 5

Geek: bbcode.js [pre] if ((gb == 1) || (work == 1) || (work == 34) || (work == 9)){ var tagNameCell = 'DIV' if (gb ==1) {tagNameCell = 'TD'} var cellArray = document.getElementsByTagName (tagNameCell) var lenCA = cellArray.length var siz = 2 var nflag = 0 var mflag = 0 var tabflag = 0 var siflag = false var upflag = false var dwflag = false var monflag = false var sflag = false var mailflsg = false var alflag = false var tabBord var styleOfTab var fimg var re if (fimg == undefined) fimg = 0 if (re == undefined) re = /[^A-Za-z0-9_/\.:~-]/ if (styleOfTab == undefined) {tabBord = 'STYLE="border:1px solid '+diz[8]+'"'; styleOfTab = 'font1' }else {tabBord = ''} function deterTag (fin){ //функция вырезки BB тегов newtext = textCell.slice(0,fin) while (fin < lentext){ flag = 1 while (flag){ if (textCell.charAt(fin) == '[') flag = 0 else newtext += textCell.charAt (fin) if (fin == lentext) flag = 0 fin++ } var lin = fin-1 flag = 1 while (flag){ if (lin == lentext) flag = 0 lin++ if (textCell.charAt(lin) == '[') { newtext += textCell.slice(fin-1,lin) fin = lin+1} if (textCell.charAt(lin) == ']') flag = 0 } if (textCell.charAt(lin) == ']') { insertText = writeTag(textCell.slice (fin,lin)) newtext += insertText} fin = lin+1 } return newtext} function writeTag (bbTag){ //функция определения тегов parTag = bbTag.split(':') switch (parTag[0]){ case 'size': //размер шрифта if (fsize && !isNaN(parTag[1])){ if (parTag[1].charAt(0) == '+'){ siz += eval(parTag[1])} else { if (parTag[1].charAt(0) == '-'){ siz += eval(parTag[1])} else {siz = (parTag[1])}} if (siz > 7) siz = 7 if (siz < 1) siz = 1 siz = 10+siz*(siz-1) siflag = true return '<FONT STYLE="font-size:'+siz+'px">';} break case '/size': if (fsize && siflag){ siz = 2 siflag = false return '</FONT>';} break case 'up': //Надстрочный индекс if (fup){ displ = 4+0.4*(siz*siz-4) upflag = true return '<SPAN STYLE="position: relative; top:-'+displ+'px;"><SMALL>';} break case '/up': if (fup && upflag){ upflag = false return '</SMALL></SPAN>';} break case 'dw': //Подстрочный индекс if (fdw){ displ = 2+0.2*(siz*siz-4) dwflag = true return '<SPAN STYLE="position: relative; top:'+displ+'px;"><SMALL>';} break case '/dw': if (fdw && dwflag){ dwflag = false return '</SMALL></SPAN>';} break case 'nlist': //Нумерованиый список if (fnum){ if (!nflag) {beg = '<OL Type="1">'}else{beg = ''} nflag = true return beg+'<LI>';} break case '/nlist': if (fnum && nflag){ nflag = false return '</OL>';} break case 'mlist': //Маркерованый список if (fmark){ if (!nflag) {beg = '<UL>'}else{beg = ''} nflag = true return beg+'<LI>';} break case '/mlist': if (fmark && nflag){ nflag =false return '</UL>';} break case 'mono': //Моноширный шрифт if (fmono){ monflag = true return '<FONT CLASS="font1" STYLE="font-family:Courier New;">';} break case '/mono': if (fmono && monflag){ monflag = false return '</FONT>';} break case 's': //Перечеркнутый шрифт if (fcross){ sflag = true return '<S>';} break case '/s': if (fcross && sflag){ sflag = false return '</S>';} break case 'mailto': //Электронная почта if (fmail){ mailflsg = true return '<A HREF=mailto:'+parTag[1]+'><U>';} break case '/mailto': if (fmail && mailflsg){ mailflsg = false return '</U></A>';} break case 'tb': //Таблица if (ftab){ tabflag ++ var insertTableText = '<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=100% ALIGN="CENTER"><TR><TD '+tabBord+' CLASS='+styleOfTab+'>'; return insertTableText+insertTableText;} break case '/tb': if (ftab && (tabflag != 0)){ tabflag -- return '</TD></TR></TABLE></TD></TR></TABLE>';} break case 'cl': if (fcell && ftab && (tabflag != 0)){ return '</TD><TD '+tabBord+' CLASS='+styleOfTab+'>';} break case 'st': if (fcell && ftab && (tabflag != 0)){ return '</TD></TR><TR><TD '+tabBord+' CLASS='+styleOfTab+'>';} break case 'align': //Выравнивание if (falign && (parTag[1] == 'left' || parTag[1] == 'center' || parTag[1] == 'right')){ alflag = true return '<P ALIGN='+parTag[1]+'>';} break case '/align': if (falign && alflag){ alflag = false return '</P>';} break case 'hr': //Горизонтальная линия return '<HR SIZE=1>'; break case 'imglnk': //Ссылка через картинку if (fimg){ if (parTag[1] != 'http' && parTag[1] != 'ftp' && parTag[3] != 'http') break if (re.test(parTag[4])) break return '<A HREF='+parTag[1]+':'+parTag[2]+' TARGET="_blank"><IMG SRC='+parTag[3]+':'+parTag[4]+' BORDER=0></A>';} break default: retsrt ='[' + bbTag + ']'; return retsrt } retsrt ='[' + bbTag + ']'; return retsrt }} for (n=0; n<lenCA; n++){ textCell = cellArray[n].innerHTML //HTML внутри тега DIV lentext = cellArray[n].innerHTML.length //длина HTML строчки inNum = textCell.indexOf ('[') //первое вхождение [ if ((inNum != -1)&&(textCell.charAt(inNum+1) != '<')){ //есть ли вхождение [ и текст не форматирован cellArray[n].innerHTML = deterTag (inNum, textCell, lentext) }}[/pre]

Geek: icons.js [pre] var imgPath var fimg if(document.all.message && (group >= mingroup) && (rang >= minrang)){ if (imgPath==undefined) imgPath = 'https://web.archive.org/web/20070205222210/http://www.darkness.nm.ru/forum/bbtag/' if (fimg == undefined) fimg = 0 if (fcross) pozition += 2 textAr = document.all.message; function addMenuBr(obj, beforNumb, tagName, textInner, textSize, Shrift){ var tagA = new Object(); var newA = document.createElement(tagName); if (textInner != undefined) {newA.innerHTML = textInner} if (textSize != undefined) {newA.style.fontSize = textSize} if (Shrift != undefined) {newA.style.fontFamily = Shrift} obj.insertBefore(newA, obj.childNodes[beforNumb]); } function pmail(){var URL = prompt("Введите E-mail","");if (URL != null && URL.indexOf('@') != -1 && URL.indexOf('.') != -1 && URL.indexOf(' ') == -1) {var OP = prompt("Введите описание ссылки","");if (!OP) {OP='click here';}pst3('','','','[mailto:'+URL,']'+OP+'[/mailto]');}else {alert('Ошиблись при вводе ссылки!'); return;}} function psize(){var URL = prompt("Введите размер шрифта от 1 до 7","");if (URL != null && !isNaN(URL) && URL >= 1 && URL <= 7) {pst3('','','','[size:'+URL+']','[/size]');}else{alert('Ошиблись при вводе!'); return;}} function pimglnk(){ var URL = prompt("Введите ссылку с http или ftp.",""); if (!URL || (URL.indexOf('http://') == -1 && URL.indexOf('ftp://') == -1) || URL.indexOf(' ') != -1) { alert('Ошиблись при вводе ссылки!'); return;} var OP = prompt("Введите адрес картинки. ВНИМАНИЕ: допустимые символы: буквы, цифры, точка, тильда, подчеркивание, косая черта, дефис",""); if (!OP) {OP='click here';}pst3('','','','[imglnk:'+URL,':'+OP+']');} function plist(list) { var URL = ''; i = 1 do{ URLn = prompt("Введите значение пункта "+i+"\nДля завершения нажмите «Отмена»","") i++ if (URLn) {URL += '['+list+']'+URLn} } while (URLn) if (URL != '') pst3('','','',URL,'[/'+list+']')} if (fimg) { addMenuAnc(textAr.parentNode, pozition, "javascript:pimglnk()", "", imgPath+"imglnk.gif", "Ссылка через картинку"); } if (fcell){ addMenuAnc(textAr.parentNode, pozition, "javascript:pst3('','','','[st]','')", "", imgPath+"string.gif", "Разбить на строки"); addMenuAnc(textAr.parentNode, pozition, "javascript:pst3('','','','[cl]','')", "", imgPath+"cell.gif", "Разбить на ячейки");} if (ftab) addMenuAnc(textAr.parentNode, pozition, "javascript:pst3('','','','[tb]','[/tb]')", "", imgPath+"tb.gif", "Таблица"); if (fmark){ addMenuAnc(textAr.parentNode, pozition, "javascript:plist('mlist')", "", imgPath+"marb.gif", "Маркированный список"); } if (fnum){ addMenuAnc(textAr.parentNode, pozition, "javascript:plist('nlist')", "", imgPath+"numb.gif", "Нумерованный список"); } if (fsize) addMenuAnc(textAr.parentNode, pozition, "javascript:psize()", "", imgPath+"size.gif", "Размер шрифта"); if (falign){ addMenuAnc(textAr.parentNode, pozition, "javascript:pst3('','','','[align:right]','[/align]')", "", imgPath+"right.gif", "Выравнивание по правому краю"); addMenuAnc(textAr.parentNode, pozition, "javascript:pst3('','','','[align:center]','[/align]')", "", imgPath+"center.gif", "Выравнивание по центру"); addMenuAnc(textAr.parentNode, pozition, "javascript:pst3('','','','[align:left]','[/align]')", "", imgPath+"left.gif", "Выравнивание по левому краю"); } if (fmail) addMenuAnc(textAr.parentNode, pozition, "javascript:pmail()", "", imgPath+"mail.gif", "Сыллка на E-mail"); addMenuBr(textAr.parentNode, pozition+1, "BR"); addMenuBr(textAr.parentNode, pozition+1, 'FONT', 'Дополнительные ВВ-теги HTML-форматирования: ', 9, '') addMenuBr(textAr.parentNode, pozition+1, "BR"); }[/pre]

Geek: Иконки тегов: https://web.archive.org/web/20070203000152/http://www.darkness.nm.ru/forum/bbtag/


Geek: Воткнул, что смог выковырять, сюда: http://stlab.freesite.vip/darkness.nm.ru/

Geek: Из анализа icons.js следует, что скрипту требовался подключённый JSObjmodule.js.



полная версия страницы