
Просьба, придерживаться формата сообщений в теме
Описание скрипта
Чтобы администратору было легче ориентироваться, обозначайте начало и конец комментариями: <!-- НАЧАЛО Название скрипта -->,
<!-- КОНЕЦ Название скрипта -->
В какую форму вставлять: HTML верх, HTML низ, HTML в форме ответа
Код:<!-- НАЧАЛО Название скрипта --> <script type="text/javascript"> Тело скрипта </script> <!-- КОНЕЦ Название скрипта -->#215.06.2015 12:29:46swed.lokiЗапятая в форму ответа после клика на Ник автора поста
HTML-верх
Код:<!-- НАЧАЛО Запятая в форму ответа после клика на Ник --> <script type="text/javascript"> function to(username) {insert('[b]' + username + '[/b]' + ', ');} </script> <!-- КОНЕЦ Запятая в форму ответа после клика на Ник -->#315.06.2015 12:30:46swed.lokiСкрипт позволит процитировать сообщение вместе с исходными BB-кодами.
HTML в форме ответа
Код:<!-- НАЧАЛО Цитирование с BB-кодами --> <script type="text/javascript"> var a=document.getElementsByTagName("a") for (i = 0; i<a.length; i++){ if(a[i].href.indexOf("post.php?tid=") != -1){ t = a[i].href.substring(a[i].href.indexOf('=')+1) } } var m = new Array(); var z = new Array(); for (w = 0; w<a.length; w++){ if(a[w].href.indexOf("#p") != -1){ m[w] = a[w].href.substring(a[w].href.indexOf('#p')+2) for (e=0; e<w; e++){ m.shift() } z.push(m[0]) } } var c = new Array(); q=0 var arr=document.getElementsByTagName("li") while(q<arr.length){ if(arr[q].className=="pl-quote"){ c.push(q) } q++ } var cv = new Array (); for(y=0;y<c.length;y++){ cv.push(y) } for(w=0; w<cv.length; w++){ name=arr[c[w]].innerHTML arr[c[w]].innerHTML=name+" <a href='/post.php?tid="+t+"&qid="+z[w]+"' title='Ответить на сообщение'>citación</a> "; } </script> <!-- КОНЕЦ Цитирование с BB-кодами -->#415.06.2015 12:31:50swed.lokiПереход на Авторский пост по клику на Ник в цитате
HTML низ
Код:<!-- НАЧАЛО Цитата: переход на пост Автора по Клику на Ник --> <script type="text/javascript"> $(".post-content .quote-box cite:contains('#p')").each(function (){ var b=$(this).text();var c=b.replace(/^#p[\d?]*,/,""); if(b!=c){b=b.replace(','+c,'');c=(b+b).replace("#p","")+'">'+c+'</a>'; $(this).html('<a href="/viewtopic.php?pid='+c+'');};}); $(".post").each(function (){ var b='#'+$(this).attr("id"); pp=$(this).find("li.pl-quote");if(pp.html()!==null){ pp.html(pp.html().replace("ipt:quote('","ipt:quote('"+b+","))};}); </script> <!-- КОНЕЦ Цитата: переход на пост Автора по Клику на Ник -->#515.06.2015 12:32:53swed.lokiОбтекание объекта текстом. Объектом может быть не только изображение.
HTML низ
Код:<!-- НАЧАЛО Обтекание объекта текстом --> <script type="text/javascript"> $(function(){ $('td#button-link').before('<td id="floatbut" style=\'background-image:url("http://images.vfl.ru/ii/1434278703/e335257e/9026712_m.gif")\'></td>'); $('#floatbut, .vibor').click(function(){ $('div#float').toggle();}); }); elm=document.getElementsByTagName("div") for(x in elm) if(elm[x].className=="post-content") { post = elm[x].innerHTML; if(post.indexOf("[/float]") != -1) { floats = /\[float=(.*?)\]([^\[]*)\[\/float\]/gi elm[x].innerHTML = elm[x].innerHTML.replace(floats, "<span style='float: $1; margin: 15px; text-align: $1;'>$2</span>") }} </script> <div id="float" style="display:none;background:#FFFFCC;border:1px solid black; width:auto; padding:8px; position:absolute; margin-top:-32%; margin-left:35%; z-index:20"> <div><strong>Направление обтекания</strong></div><br> <div align="center"> <img class="vibor" src="http://images.vfl.ru/ii/1434278764/f01c9268/9026716.png" title="left" onclick="bbcode('[float=left]', '[/float]')" /> <img class="vibor" src="http://images.vfl.ru/ii/1434278794/870ef4b2/9026717.png" title="right" onclick="bbcode('[float=right]', '[/float]')" /> </div></div> <!-- КОНЕЦ Обтекание объекта текстом -->#615.06.2015 12:34:23swed.lokiЦитирование сообщения полностью, включая ВВ-коды и картинки.
Отличается от скрипта, приведённого выше, более корректной работой и дополнением, заменяющим ссылки на изображения на сами изображения.Кнопка "BB-Цитата".
HTML в форме ответа или HTML низКод:<!-- НАЧАЛО Кнопка "BB-Цитата" --> <script type="text/javascript"> $(document).ready(function(){var topId=$("#pun-viewtopic .linkst .postlink a[href*='post.php?tid=']").attr("href"); if(topId!=undefined&&$("topic .pl-BB-quote").html()==null){topId=topId.replace(/^http:.*=/i,""); $(".topic .post").each(function(){var b='/post.php?tid='+topId+'&qid='+$(this).attr("id").replace(/^p/,""); pp=$(this).find("li.pl-quote");if(pp.html()!==null){ pp.after('<li class="pl-BB-quote"><a href="'+b+'">BB-Цитата</a></li>')};});};}); </script> <!-- КОНЕЦ Кнопка BB-Цитата-->#715.06.2015 12:35:47swed.lokiОписание к каждой теме в форуме, отображаемое под названием темы.
HTML низ
Стиль описания настраивается в блоке CSS в самом начале скрипта.Код:<!-- НАЧАЛО Описание темы в форуме --> <style type="text/css"> .yaxiko { color: #000000; /* Цвет текста */ margin-top: 2px; /* Частично отступ сверху */ margin-left: 0px; /* Отступ слева */ width: 300px; /*Ширина поля для Описания */ font-size: 95%; /* Размер Шрифта (можно в пикселах) */ display:block; } #pun-crumbs1 .yaxiko, #pun-crumbs2 .yaxiko, #pun-index .yaxiko, div.post-links .yaxiko, #pun-main h1 .yaxiko{ display:none; } </style> <script type="text/javascript"> var opisymb='‡'; $("#pun a:contains('‡')").each(function (){ var ss = $(this).html(); ss=ss.replace('‡','<p class="yaxiko">')+'</p>';$(this).html(ss); if ((document.URL.indexOf("viewtopic.php") == -1) && (document.URL.indexOf("post.php") == -1) && (document.URL.indexOf("edit.php") == -1)){$(this).find(".yaxiko").appendTo($(this).parents("td:first"))};}); $("#pun-viewtopic #pun-crumbs1 .crumbs:contains('‡'),#pun-main h1 span:contains('‡'),#pun-viewtopic #pun-crumbs2 .crumbs:contains('‡')").each(function (){ var ss = $(this).html();var n=ss.indexOf('‡');ss=ss.substring(0,n);$(this).html(ss);}); if (((document.URL.indexOf("edit.php?id")!=-1)||(document.URL.indexOf("post.php?fid")!=-1))&&($("input[name='req_subject']").html()!==null)&&($("#fld4").html()==null)) { var str2=""; $("span.input:first").after('<br/><span>Тут можно ввести своё Описание Темы:<br/><input id="fld4" type="text" name="tryam" value="'+str2+'" size="80" maxlength="70" /></span>'); $("input[name='submit']").css({'display':'none'}); $("input[name='preview']").css({'display':'none'}); var str=$("input[name='req_subject']").val(),Dleng=str.length; var L=str.indexOf('‡'); if(L!=-1){ str0=str.substring(0,L-1); var str2=str.substring(L+1,Dleng); $("input[name='req_subject']").val(str0); $("input[name='req_subject']").remove().appendTo(".input:first"); $("#fld4").val(str2); } if ($("#pustoj").html()==null){$("input[value='Отправить']").after('<input type="button" id="pustoj" class="button" name="pustoj" value="Отправить" />');} if ($("#pustoj2").html()==null){$("input[value='Посмотреть']").after('<input type="button" id="pustoj2" name="pustoj2" value="Посмотреть"/>');} $("input[name='pustoj2']").click(function (){ if($("#main-reply").val()==''){alert('"Сообщение" это поле обязательно для заполнения в этой форме.');return}; $("input[name='req_subject']").css({'color':''+$("input[name='req_subject']").css("background-color")+''}) var str=$("input[name='req_subject']").val(),str1; str1=$("#fld4").val(); if (str!=""&&str1!=""){ str+=" "+opisymb+str1;$("input[name='req_subject']").val(str);$("#fld4").remove();}; $("input[name='preview']").click();}); $("input[name='pustoj']").click(function (){ if($("#main-reply").val()==''){alert('"Сообщение" это поле обязательно для заполнения в этой форме.');return}; $("input[name='req_subject']").css({'color':''+$("input[name='req_subject']").css("background-color")+''}) var str=$("input[name='req_subject']").val(),str1; str1=$("#fld4").val(); if (str!=""&&str1!=""){ str+=" "+opisymb+str1;$("input[name='req_subject']").val(str);$("#fld4").remove();}; $("input[name='submit']").click();}); } </script> <!-- КОНЕЦ Описание темы в форуме -->#815.06.2015 23:40:35swed.lokiМодуль вставки ссылки в сообщение.
Отключена функция сокращения ссылок. Добавлена опция сохранения/очищения описания ссылки.HTML низ
Стиль описания настраивается в блоке CSS в самом начале скрипта.Код:<!-- НАЧАЛО Модуль ссылок--> <style id=type="text/css"> #linkTs-area{ line-height: normal; position: absolute; right: 200px; /* Перемещение модуля по горизонтали */ top: 43px; /* Перемещение модуля по вертикали */ padding-bottom: 14px; padding:22px 30px; height: 100px; /* Высота модуля */ width: 450px; /* Ширина модуля */ margin: 0px; } #linkTs-area sup{ cursor:pointer; } </style><div class="container" id="linkTs-area" style="display:none"><div> <p onclick="MemClea()" style="cursor:pointer;font-size:11px;border:1px solid #AAAA00;padding:1px 2px;margin-top:-22px;right:12px;position:absolute;"><u>Не Очищать Окно</u><b> <sup style="color:red"> x</sup></b><br></p> <span class="input"> <label for="linkTs"><b>Вставьте ссылку на веб-страницу</b></label><br /> <input id="linkTs" type="text" value="" size="60"/><b><sup onclick="$('#linkTs').val('')"> x</sup></b> </span><br /> <p style="margin-top:12px;" class="input"> <label for="linkTs"><b>Вставьте описание ссылки</b></label><br /> <input id="linkTs2" type="text" value="" size="60"/><b><sup onclick="$('#linkTs2').val('')"> x</sup></b></p> <p> <button onclick="insAles()" style="display:inline;float:left" type="button">Вставить</button> </p> </div> </div> <script> $("#linkTs-area").insertBefore("#smilies-area") var L='<img onclick="SetMemClear();changeVisibility(\'linkTs-area\')" src="/i/blank.gif" />'; $("#button-link img").replaceWith(L) $("#linkTs-area").insertBefore("#smilies-area");var Lft='['; function setcookieL(a,b,c){if(c){var d=new Date();d.setTime(d.getTime());d=new Date(d.getTime()+c*1000*60)}if(a&&b)document.cookie=a+'='+b+(c?'; expires='+d.toGMTString():'');else return false}function getcookieL(a){var b=new RegExp(a+'=([^;]){1,}');var c=b.exec(document.cookie);if(c){c=c[0].split('=')}else{return false}return c[1]?c[1]:false} function SetMemClear(){$('#linkTs').val('');if(getcookieL('MemClea')=='1'){$("#linkTs-area p:first u").html('<b>Очищать Описание</b>');$('#linkTs2').val('');}else{$("#linkTs-area p:first u").html('Не Очищать Описание')}} function MemClea(){if(getcookieL('MemClea')=='1'){setcookieL('MemClea','0',4/10000);$("#linkTs-area p:first u").html('Не Очищать Описание');}else{setcookieL('MemClea','1',24*60);$("#linkTs-area p:first u").html('<b>Очищать Описание</b>')}} function insAles(){var L=$("#linkTs").val();var l=$("#linkTs2").val(); if (!l ||$.trim(l) == '') l = L; L=Lft+'url='+L+']'+l+Lft+'/url]';smile(L); changeVisibility('linkTs-area');} $("#main-reply").click(function(){$("#linkTs-area").hide()}); </script> <!-- КОНЕЦ Модуль ссылок-->#907.07.2015 01:14:25swed.lokiЗакладки в сообщениях.
Для быстрого перехода на сообщение из любого места форума на это сообщение можно поставить закладку.HTML низ (Скрипт большой, поэтому в самый низ)
Скрипт закладокКод:<!-- НАЧАЛО МОИ_ЗАКЛАДКИ v.01 --> <script type="text/javascript"> function pakCodeURI (sPak) { //alert("Длина входной строки >"+sPak.length) sPak=sPak.replace(/^([^%])/g,"<$1");//alert(sPak) sPak=sPak.replace(/(%(?:[\d]|[A-F]){2})(?!%)/mg,"$1<"); sPak=sPak.replace(/(<[^%<]+)/mg,"$1>");//alert(sPak) sPak=sPak.replace(/%D0/mg,"%G"); sPak=sPak.replace(/%D1/mg,"%b"); sPak=sPak.replace(/%20/mg,"%c"); sPak=sPak.replace(/%B0/mg,"%d"); sPak=sPak.replace(/%BE/mg,"%e"); sPak=sPak.replace(/%80/mg,"%f"); sPak=sPak.replace(/%81/mg,"%g"); sPak=sPak.replace(/%82/mg,"%h"); sPak=sPak.replace(/%83/mg,"%i"); sPak=sPak.replace(/%BD/mg,"%j"); sPak=sPak.replace(/%B5/mg,"%k"); sPak=sPak.replace(/%B8/mg,"%m"); sPak=sPak.replace(/%BB/mg,"%n"); sPak=sPak.replace(/%B1/mg,"%o"); sPak=sPak.replace(/%BA/mg,"%p"); sPak=sPak.replace(/%BE/mg,"%q"); sPak=sPak.replace(/%B9/mg,"%r"); sPak=sPak.replace(/%BF/mg,"%s"); sPak=sPak.replace(/%8B/mg,"%t"); sPak=sPak.replace(/%2C/mg,"%u"); sPak=sPak.replace(/%B2/mg,"%v"); sPak=sPak.replace(/%B4/mg,"%w"); sPak=sPak.replace(/%8F/mg,"%x"); sPak=sPak.replace(/%09/mg,"%y"); sPak=sPak.replace(/%G%e%b/mg,"%H"); sPak=sPak.replace(/%G%e%G/mg,"%Y"); sPak=sPak.replace(/%G%m%G/mg,"%I"); sPak=sPak.replace(/%G%j%b%t/mg,"%J"); sPak=sPak.replace(/%G%j%u/mg,"%K"); sPak=sPak.replace(/%G%j/mg,"%L"); sPak=sPak.replace(/%G%k/mg,"%M"); sPak=sPak.replace(/%G%d/mg,"%N"); sPak=sPak.replace(/%G%9/mg,"%O"); sPak=sPak.replace(/%M%N%K/mg,"%P"); sPak=sPak.replace(/%G%A/mg,"%R"); sPak=sPak.replace(/%G%s/mg,"%S"); sPak=sPak.replace(/%G%m/mg,"%T"); sPak=sPak.replace(/%G%r/mg,"%X"); sPak=sPak.replace(/%b%f/mg,"%U"); sPak=sPak.replace(/%b%h/mg,"%W"); sPak=sPak.replace(/%M%G/mg,"%Z"); sPak=sPak.replace(/%b%8/mg,"%V"); sPak=sPak.replace(/%G%B/mg,"%&"); sPak=sPak.replace(/%u%O/mg,"%#"); sPak=sPak.replace(/%G%v/mg,"%a"); sPak=sPak.replace(/%b%g/mg,"%z"); sPak=sPak.replace(/%&C/mg,"%]"); //alert("2(До % delete > "+sPak.length)//alert(sPak) sPak=sPak.replace(/%/mg,"");//alert("Ужатие URI>"+sPak.length)//alert(">>>"+sPak) return sPak; } //End/Упаковка encodeURIComponent //======== Распаковка encodeURIComponent ================== function unpakCodeURI (str_unpak) {//alert("function unpakCodeURI"+str_unpak) str_unpak=str_unpak.replace(/(^(?:[^<>]+)(?:<|$))|(>(?:[^<>]+)(?:<|$))/mg,function(a,b,c) { //alert("a23="+a) a=a.replace(/\]/g,"&C"); a=a.replace(/z/g,"bg"); a=a.replace(/a/g,"Gv"); a=a.replace(/#/g,"uO"); a=a.replace(/&/g,"GB"); a=a.replace(/\V/g,"b8"); a=a.replace(/Z/g,"MG"); a=a.replace(/W/g,"bh"); a=a.replace(/U/g,"bf"); a=a.replace(/X/g,"Gr"); a=a.replace(/T/g,"Gm"); a=a.replace(/S/g,"Gs"); a=a.replace(/R/g,"GA"); a=a.replace(/P/g,"MNK"); a=a.replace(/O/g,"G9"); a=a.replace(/N/g,"Gd"); a=a.replace(/M/g,"Gk"); a=a.replace(/L/g,"Gj"); a=a.replace(/K/g,"Gju"); a=a.replace(/J/g,"Gjbt"); a=a.replace(/I/g,"GmG"); a=a.replace(/Y/g,"GeG"); a=a.replace(/H/g,"Geb"); a=a.replace(/y/g,"09"); a=a.replace(/x/g,"8F"); a=a.replace(/w/g,"B4"); a=a.replace(/v/g,"B2"); a=a.replace(/u/g,"2C"); a=a.replace(/t/g,"8B"); a=a.replace(/s/g,"BF"); a=a.replace(/r/g,"B9"); a=a.replace(/q/g,"BE"); a=a.replace(/p/g,"BA"); a=a.replace(/o/g,"B1"); a=a.replace(/n/g,"BB"); a=a.replace(/m/g,"B8"); a=a.replace(/k/g,"B5"); a=a.replace(/j/g,"BD"); a=a.replace(/i/g,"83"); a=a.replace(/h/g,"82"); a=a.replace(/g/g,"81"); a=a.replace(/f/g,"80"); a=a.replace(/e/g,"BE"); a=a.replace(/d/g,"B0"); a=a.replace(/c/g,"20"); a=a.replace(/b/g,"D1"); a=a.replace(/G/g,"D0"); a=a.replace(/([^%]*?)((?:[\d]|[A-F]){2})/g,"$1%$2");// //alert("T0 "+a.length)//alert("a0="+a) return a;}); str_unpak=str_unpak.replace(/<|>/gm,""); //alert("URI-Code >"+str_unpak.length)//alert(str_unpak) return decodeURIComponent(str_unpak); } // End/Распаковка (decodeURIComponent) // Библиотека для кукисов function setCookie33(name, value, expires, path, domain, secure) { if (!name || !value) return false; //alert("HELLO>>"+value) var today = new Date(); today.setTime( today.getTime() ); var expires_date = new Date( today.getTime() + (expires) ); value = encodeURIComponent(value); if (value.length > 1000) value="1$"+pakCodeURI(value); var str = encodeURIComponent(name) + '=' + value;//alert(value) if (expires) str += '; expires=' + expires_date.toGMTString(); if (path) str += '; path=' + path; if (domain) str += '; domain=' + domain; if (secure) str += '; secure'; document.cookie = str; return true; } function getCookie33(name) { name= encodeURIComponent(name) var pattern = "(?:; )?" + name + "=([^;]*);?"; var regexp = new RegExp(pattern,"g"); if (regexp.test(document.cookie)){ NumPak = RegExp["$1"].replace(/^((?:\d{1,2})\$)?([^\$]*)$/g,"$1") if(NumPak == "1$" ) return unpakCodeURI(RegExp["$2"]); return decodeURIComponent(RegExp["$2"]) } return false } function deleteCookie33( name, path, domain ) { if ( getCookie33( name ) ) name= encodeURIComponent(name);document.cookie = name + '=' + ( ( path ) ? ';path=' + path : '') + ( ( domain ) ? ';domain=' + domain : '' ) + ';expires=Thu, 01-Jan-1970 00:00:01 GMT'; } //Обработка селекторов по событиям( перевод this в $(this) var numb_event=0; function THiS(a){numb_event++;var b=numb_event, d='numb_event'; if(a.getAttribute(d)==null){a.setAttribute(d,b);}else{b=a.getAttribute(d)} return $("#pun *[numb_event='"+b+"']") } document.write("<style>.item11 {text-align:center;}.item11 .child li{width:95%!important;}.item11 .child {text-align:right;}.item11:hover .child{display:inline!important;}.item11 .child li{position:relative;z-index:100; text-align:right!important;padding:3px 3px 3px 0;margin:0px;border:1px solid #ccc!important;font-size:11px!important;background:#f0f0f0 !important;display:block!important;}.item11 .child{background-image:url(http://forum.mybb.ru/i/blank.gif)!important;position:relative;z-index:100;margin-top: -3px!important;margin-left: -20px!important;}.item11 .child li a{color:#000!important;font-weight:normal!important;}.item11 .child li .a2{text-align:left!important;position:absolute;display:none!important;margin-top: -6px;}.item11 .child li .a2 a[href*=\"/viewforum.php?id=\"]{margin-top:-12px!important;}.item11 .child li:hover{background-image:none!important;background-color:#626262;}.item11 .child li:hover a{color:#747474!important;}.item11 .child li:hover .a2{display:inline!important;}.item11 .child li .a2 span{font-weight:bold!important;}.item11 .child li .a2 a{display:block!important;margin:0px;color:#333!important; border:1px solid #B7B7B7!important;background:#e2e2e2;font-weight:normal;padding:3px;height:19px;} .item11 .child li .a2 a:hover {background:#f0f0f0 !important;}</style>") var stBookmark="<span class=\"span_Bookmark\" style=\"float:right;\" ><div onclick=\"MarkClick(THiS(this))\" class=\"Bookmark\" style=\"margin-top: " var endBookmark="px;margin-left:-712px!important;float:right;position:absolute;z-index:100;\"><img src=\"http://forum.mybb.ru/i/blank.gif\" style=\"display:block!important;position:absolute!important;margin-top:7px;margin-left:500px; width:100px;height:82px;z-index:2;border:solid transparent 1px!important;\" onclick=\"MarkClose(THiS(this))\"/><p style=\"position:absolute;margin-left:309px;margin-top:23px;height:20px;padding-top:11px;width:405px;border:1px solid transparent;\" onmousedown=\"THiS(this).find('button').show();\" ><button onclick=\"button_clck(THiS(this));\" type=button style=\"width:94px;position:absolute;display:none;margin-top:20px;margin-left:14px;font-size:12px;color:#000;\">Сохранить</button><input type=\"text\" class=\"inBookmark\" value=\"asdasgshgjjk;l;\" size=\"30\" maxlength=\"22\" style=\"font-size:11px;font-family:'Verdana';position: absolute; right: 400px; top: 34px;padding:0;z-index:2;background-color:transparent;color:#000;border:inset #8ACBEE 2px!important;\"/></p><img src=\"http://images.vfl.ru/ii/1436217104/bc315916/9220433.png\"/></div></span>"; var MyBookmark={}; //MyBookmark[i]=[post,scrol,Idfor,IdTem,txtM]; var sep0r=String.fromCharCode(11) function SetPst(){ var ByMymark={}; var L=getCookie33('MarkCooki') if(L){setCookie33('MarkCooki',L,30*24*60*60*1000); L=L.split(sep0r+sep0r),a=[]; if(L.length>1){ for (var i=0; i<L.length-1; i++) { var a=L[i];a=a.split(sep0r); ByMymark[a[0]]=a; } } else {deleteCookie33('MarkCooki');} }return ByMymark; } var MyBookmark=SetPst(); Pst=MyBookmark; function SetTitl(){ var TemaTitle={}; var L=getCookie33('LTemTitl')//alert(L); if(L){setCookie33('LTemTitl',L,30*24*60*60*1000); L=L.split(sep0r); if(L.length>1){ for (var i=0; i<L.length-1; i+=2) { TemaTitle[L[i]]=L[i+1]; } } else {deleteCookie33('LTemTitl');} }return TemaTitle;} LTemTit=SetTitl();//alert(LTemTit); /*Поправлено от 8.01.2012*/ document.write('<style>#TRyams{display:inline-block!important;z-index:1000!important;position:relative!important;}</style>'); var strL0="<li class=\"item11\"><span id=\"TRyams\"><ul class=\"child\" style=\"float:left;padding-top:16px;z-index:200;position:absolute;display:none\"></ul></span><a href=\"https://911tm.9bb.ru/viewtopic.php?id=687#p34454\">Мои Закладки</a></li>"; $("#pun-ulinks a[href$='search.php?action=show_recent']").parent('li').after(strL0); var LstM=$("#pun-ulinks li.item11 ul");//alert(LstM.html()) function SetMarkUlink (LstM) { var str1="<li><a href=\"http://"+ location.hostname+"/viewtopic.php?pid="; var str2="\">"; var str3="</a><span class=\"a2 "; var str4="\"></span></li>"; var str21="<a href=\"http://"+ location.hostname + "/viewforum.php?id="; var str22="\"><span>В форуме: </span>"; var str23="</a>"; var str31="<a class=\"tema\" href=\"http://"+ location.hostname + "/viewtopic.php?id="; var str32="\"><span> В Теме: </span>"; var str33="</a>"; // Предустановка Закладок в "Закладках" var i=0,a,b,Ifor=$(".category .tcl .tclcon h3"); LstM.html(''); for(var key in Pst){ a=key.substring(2);b=a+'#p'+a; LstM.prepend(str1+b+str2+Pst[key][4]+str3+'pr'+a+str4) LstM.find("span.a2.pr"+key.substring(2)).attr("alt",Pst[key][3]) } //alert(MarkCooki) LstM.find("span.a2[alt]").each(function(J){ var tid=$(this).attr("alt");//alert(tid); d=LTemTit[tid] var a=str31+tid+str32+d+str33;// $(this).append(a); }); if( $(".punbb").attr("id")=="pun-index"){ for(var key in Pst){ a=Ifor.find("a[href*='id="+Pst[key][2]+"']").html(); if(a!=null){ b=str21+Pst[key][2]+str22+a+str23;//alert(b); LstM.find("span.a2.pr"+key.substring(2)).prepend(b); } } } var L=$(".My_Bookmarks[alt^='Шесть важных']"); if(L.html()!=null){ var DArr=[] L.find("p").each(function(J){ if(J<6){ DArr[J]=$(this).text().split(",");//alert(DArr[J]+J) }else return false; }); var L=''; var Ls1='<span style="color:red;font-weight:bold;text-shadow:#6F95A7 1px -1px 1px;">'; var Ls2='<span style="color:blue;>'; var Ls3='</span>'; for (k=0; k<DArr.length; k+=2){//LstM.prepend() L+='<li><a href="'+DArr[k][0]+str2+Ls1+DArr[k][1].substring(0,18)+Ls3+str3+'info-forum'+'">'; if( $(".punbb").attr("id")=="pun-index"){ L+=str21+0+'" style="margin-top:-12px!important;'+str2+'<center>= Info =</center>'+str23;} L+='<a style="margin-top:0!important;" class="tema" href="'+DArr[k+1][0]+str2+DArr[k+1][1]+str23; L+='</span></li>';//End element } LstM.prepend(L);//alert(L) } } SetMarkUlink (LstM) // Предустановка Закладок в постах var Pst=MyBookmark; $("#pun-viewtopic .post").each(function(){ var pst='#'+$(this).attr("id");//alert(pst); //alert(Pst[pst][0]) if(Pst[pst]!=undefined){ $(this).prepend(stBookmark+Pst[pst][1]+endBookmark); $(this).find(".span_Bookmark input.inBookmark").val(Pst[pst][4]); $(this).find(".span_Bookmark input.inBookmark").attr("alt",Pst[pst][4]); } }); function ReReseTm(){ var L00='' for(var id in LTemTit){ var settD=1; for(var key in Pst){//alert("LTemTit[id]>"+id+"?"+Pst[key][3]) if(id==Pst[key][3]){ settD=0;break;} } if(settD){delete LTemTit[id]; }else {L00+=sep0r+id+sep0r+LTemTit[id]} } //alert("L00="+L00); return L00.replace(sep0r,''); } function makeBookmark (pst,scrl,Idfor,IdTem,txtM,TemTitl) { if(Pst[pst]!=undefined){delete Pst[pst];ReReseTm (); } if(typeof(scrl)!='undefined'||typeof(txtM)!='undefined'){Pst[pst]=[pst,scrl,Idfor,IdTem,txtM]; LTemTit[IdTem]=TemTitl;} //======== Функция Tst-SetCooki var FirstKey,y=0; for(var key in Pst) {if(!y){FirstKey=key;} y++;} if(y>15){delete Pst[FirstKey],ReReseTm();} var MarkCooki=''; for(var key in Pst){ for(var i in Pst[key]){ MarkCooki+=Pst[key][i]+sep0r; } MarkCooki+=sep0r; } //alert(MarkCooki) var L=ReReseTm(); if(y){setCookie33('MarkCooki',MarkCooki,30*24*60*60*1000);//alert(getCookie33('MarkCooki')) setCookie33('LTemTitl',L,30*24*60*60*1000);//alert(getCookie33('LTemTitl')) }else {deleteCookie33('MarkCooki');deleteCookie33('LTemTitl');} //========= } function ReloadBookmark (pst,scrl,txtM) { var TemaTitl=$("#pun-main h1:first span").html().substring(0,34)//alert(TemaTitl); var Mforum=$("html head:first link[rel='up']").attr("href").replace(/^.+php\?id=/img,"");//alert(Mforum); var Mtema=$("html head:first link[rel='alternate']").attr("href").replace(/^.*tid=/img,""); //alert(Mtema); $(pst+" .span_Bookmark").replaceWith(''); makeBookmark(pst,scrl,Mforum,Mtema,txtM,TemaTitl); $(pst).prepend(stBookmark+scrl+endBookmark); $(pst+" .span_Bookmark").find("input.inBookmark").val(txtM); $(pst+" .span_Bookmark").find("input.inBookmark").attr("alt",txtM); } function SetBookmark(postselekt,top) { var today = new Date(); var d=parseInt(today.getDate());if(d<10){d="0"+d} var m=parseInt(today.getMonth())+1;if(m<10){m="0"+m;} var yea1=today.getFullYear(); var Ti=today.toTimeString().replace(/ .+$/img,"") var M_text='От:'+d+'/'+m+'/'+yea1+' '+Ti;//alert(M_text); var Mpost="#"+postselekt; //alert(Mpost); var scrol_M=(parseInt(top)+14); ReloadBookmark(Mpost,scrol_M,M_text); } //Определение координат смещения var MyTopMouse; $(document).bind('mousemove',function(e){ //$("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY); MyTopMouse=e.pageY;}); var BusyPost=false; function MarkClick(Sel) { BusyPost=true;//alert("A"); setTimeout('BusyPost=false;',370); } function MarkClose(Sel) { postselekt=Sel.parents(".post").attr("id"); //Удалям предыдущую закладку и вызываем чтения запись Коки и ) $("#"+postselekt+" .span_Bookmark").replaceWith(""); makeBookmark("#"+postselekt) } function inpReload(inpUT) { if(inpUT.attr("alt")!=inpUT.val()){//Описание изменено ? var pst='#'+inpUT.parents(".post").attr("id"); // alert(pst); if(Pst[pst]!=undefined){ inpUT.parent().find('button').show(); return false; } } } function button_clck(L){ inpUT=L.parent().find('input.inBookmark'); var pst='#'+inpUT.parents(".post").attr("id"); if(inpUT.val()){ if(inpUT.attr("alt")!=inpUT.val()) { ReloadBookmark (pst,Pst[pst][1],inpUT.val()) } } else alert('Запись не должна быть пустой!'); } $(".post").dblclick(function (){ if(!BusyPost){//alert(BusyPost); var postselekt=$(this).attr("id"); var offset=$(this).offset(); var L=Math.round(parseInt(MyTopMouse)-parseInt(offset.top)); SetBookmark(postselekt,L);} }); </script> <style> .post .Bookmark img[src$="i/blank.gif"]{ cursor:pointer; } </style> <script type="text/javascript"> var L=$("#My_Bookmarks2").html();$(".item11 .child").prepend(L) </script> <!-- КОНЕЦ МОИ_ЗАКЛАДКИ v.01 -->#1007.07.2015 22:09:40swed.lokiОтступ первой строки в абзаце сообщения или "красная строка".
В файле style.css в стиль абзаца сообщения добавить строку c параметром отступа.
В качестве значений принимаются любые единицы длины, принятые в CSS — например, пикселы (px), дюймы (in), пункты (pt) и др. При задании значения в процентах, отступ первой строки вычисляется в зависимости от ширины блока. Допустимо использовать отрицательные значения, но при этом в разных браузерах возможно появление ошибок.
/* B1.3 */
.punbb .post-content p {
margin: 0;
padding: 0 0 1em 0;
line-height: 150%;
text-indent: 2em; /* Отступ красной строки*/
}Единица em — это изменяемое значение, которое зависит от размера шрифта текущего элемента (размер устанавливается через стилевое свойство font-size). В каждом браузере заложен размер текста, применяемый в том случае, когда этот размер явно не задан. Поэтому изначально 1em равен размеру шрифта, заданного в браузере по умолчанию или размеру шрифта родительского элемента.
В сообщениях форума один абзац отделяется от другого двумя нажатиями клавиши "Enter" (пустая строка между блоками текста).
Одно нажатие клавиши "Enter" соответствует переносу строки внутри абзаца.#1114.09.2015 18:14:40swed.lokiСворачивание спойлера
HTML-низ
Код:<!--НАЧАЛО Свернуть спойлер --> <script type="text/javascript"> function clickSP(i) {setTimeout("$('#spoiler"+i+"').click()",100);} $('.quote-box.spoiler-box > div').each(function(i) { $(this).attr('id','spoiler'+i).append('<a name="220_'+i+'" style="position:absolute;margin-top:-200px"></a>'); $(this).next('blockquote').append('<a href="#220_'+i+'" onclick="clickSP('+i+')" style="float:right">Свернуть спойлер</a>'); }); </script> <!-- КОНЕЦ Свернуть спойлер -->#1214.09.2015 18:55:32swed.lokiТранслятор HTML кода позволяет получить html-код сообщения
HTML верх
Код:<!--НАЧАЛО Транслятор HTML кода --> <script type="text/javascript"> if(document.URL.search(/\/edit.php\?id.*&action=edit/igm)!=-1||document.URL.indexOf("/post.php?tid=")!=-1||document.URL.indexOf("/post.php?action=post&tid=")!=-1){ $(document).ready(function() { var stL0="<style>#get-htm{display:none;} #code-html {overflow:auto;overflow-x:hidden;max-height:300px;width:100%; border:2px inset;font-family: use-lang-def;text-transform: none;font-size: 13px;font-weight: 400;line-height: normal;padding: 1px;text-align: default;text-indent: 0px;}</style><fieldset id=\"get-htm\"><legend><span>HTML-код</span></legend></br><div id=\"code-html\"></div></br></fieldset>"; var stL2="<span style=\"display:inline-block;font-size:12px;margin-top:-16px;float:right;right:50%!important;margin-right:57px!important;\"><img src=\"http://funkyimg.com/i/228e4.jpg\" class=\"button-html\" style=\"cursor:pointer;cursor:hand;margin-top:-2px;\" onclick=\"$('#get-htm').toggle();\"/></span>"; $("#post-preview").after(stL0); $("#form-buttons").parents("fieldset").find("legend:first").after(stL2); $("#code-html").css({"color":""+$("#main-reply").css("color")+""}) $("#code-html").css({"border-color":""+$("#main-reply").css("background-color")+""}) $("#code-html").css({"background-color":""+$("#main-reply").css("background-color")+""}) var Phtm=$("#post-preview .fs-box").html(); Phtm=Phtm.replace(/"/img,'"'); Phtm=Phtm.replace(/</igm,"<"); Phtm=Phtm.replace(/>/igm,">"); Phtm=Phtm.replace(/</igm,"<"); Phtm=Phtm.replace(/>/igm,">"); Phtm=Phtm.replace(/"/igm,"""); Phtm=Phtm.replace(/^\t{5}/igm,""); Phtm=Phtm.replace(/\t/igm," "); Phtm=Phtm.replace(/\n/igm,'<br />'); /*\n*/ $("#code-html").html(Phtm) });} </script> <!--КОНЕЦ Транслятор HTML кода -->#1314.09.2015 19:35:17swed.lokiВыпадающее двухуровневое меню
HTML-верх
Код:<!-- НАЧАЛО выпадающее МЕНЮ (стиль) --> <style type="text/css"> #pun-navlinks{display: block;position: relative;z-index: 9999;} #pun-navlinks ul li {margin: 0px 5px 0px 0px;float: left;display: inline;list-style: none;position: relative;height: 24px;} #pun-navlinks ul ul {padding: 0px 0px 12px 0px;width: 175px;list-style: none;display: none;position: absolute;top: 24px;left: -5px;border: 1px solid #E8E8E8; background-color: #4A708B; -moz-box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;-webkit-box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;} #pun-navlinks ul ul li {width: 156px;float: left;display: block !important;text-align:left;padding-left: 6px;} /* 2nd Menu */ #pun-navlinks ul li:hover li a, #pun-navlinks ul li.iehover li a {float: none;color: #E8E8E8;font-weight:bold;} #pun-navlinks ul ul ul li:first-child a:after {content: '';position: absolute;left: -6px;top: 50%;border-left: 6px solid transparent;border-right: 6px solid transparent;border-bottom: 6px solid #444;} /* 2nd Menu Hover Persistence */ #pun-navlinks ul li:hover li a:hover, #pun-navlinks ul li:hover li:hover a, #pun-navlinks ul li.iehover li a:hover, #pun-navlinks ul li.iehover li.iehover a {color: #E8E8E8;text-decoration:none;font-weight:bold;text-shadow: 0 1px 0 #000;} #pun-navlinks ul ul li:hover {background-color: #8B8B83;} /* Do Not Move - Must Come Before display:block for Gecko */ #pun-navlinks ul li:hover ul ul, #pun-navlinks ul li:hover ul ul ul, #pun-navlinks ul li.iehover ul ul, #pun-navlinks ul li.iehover ul ul ul {display: none;position: absolute;top: 0;left: 175px;} #pun-navlinks ul li:hover ul, #pun-navlinks ul ul li:hover ul, #pun-navlinks ul ul ul li:hover ul, #pun-navlinks ul li.iehover ul, #pun-navlinks ul ul li.iehover ul, #pun-navlinks ul ul ul li.iehover ul {display: block;} </style> <!-- КОНЕЦ выпадающее МЕНЮ (стиль) -->#1426.10.2015 16:21:08MaximКогда захожу на форум https://911tm.9bb.ru/search.php?action=show_recent
и нажимаю новые сообщения в той или иной теме в которой есть новые сообщения, я попадаю на новые сообщения - все правильно. Но также иной раз, в теме с якобы новыми сообщениями - меня переносит в то сообщение (уже прочитанное раньше) которому просто поставили оценку (+1 например). Так и должно быть?Отредактировано Maxim (26.10.2015 16:22:53)
#1503.11.2015 23:12:17ValНе знаю, очень нужно ли (может бизнес, мало ли), чтобы картинки фона (при этом в разрешении 1200px × 934px /в масштабе 1663px × 569px/), шапки и стрелок, еще что-то хранить на vfl.ru, а не в корне сайта. При первичной загрузке и после очистки кэша загружается прилично, особенно при ограниченном канале.
#1605.11.2015 01:43:35Dmitrу"#p43746,Val написал(а):Не знаю, очень нужно ли (может бизнес, мало ли), чтобы картинки фона (при этом в разрешении 1200px × 934px /в масштабе 1663px × 569px/), шапки и стрелок, еще что-то хранить на vfl.ru, а не в корне сайта. При первичной загрузке и после очистки кэша загружается прилично, особенно при ограниченном канале.
поменял адрес картинки. Посмотри, луче стало ?
#1705.11.2015 02:33:24gav#p44243,Dmitry" написал(а):#p43746,Val написал(а):Не знаю, очень нужно ли (может бизнес, мало ли), чтобы картинки фона (при этом в разрешении 1200px × 934px /в масштабе 1663px × 569px/), шапки и стрелок, еще что-то хранить на vfl.ru, а не в корне сайта. При первичной загрузке и после очистки кэша загружается прилично, особенно при ограниченном канале.
поменял адрес картинки. Посмотри, луче стало ?
Дима, все изменения проверяй здесь https://gtmetrix.com/ сразу видно, что тормозит форум.
Сейчас в пределах нормы.
картинка утрачена · funkyimg.comОтредактировано gav (05.11.2015 02:38:12)
#1805.11.2015 10:09:28Val#p44243,Dmitry" написал(а):поменял адрес картинки. Посмотри, луче стало ?
Да, относительно лучше. Хотя я рекомендовал бы фоновую уменьшить до ~ (100*100) и устроить background-repeat.
Еще остались картинки с vfl, которые почему-то загружаются тогда, когда они не нужны - на странице новых сообщений, например. Мои тайминги:картинкикартинка утрачена · images.vfl.ru
картинка утрачена · images.vfl.ru#1905.11.2015 11:16:08gav#p44343,Val написал(а):Еще остались картинки с vfl, которые почему-то загружаются тогда, когда они не нужны - на странице новых сообщений, например. Мои тайминги:
картинкиЭто так настроен форум изначально, что-бы генерировать трафик. Я ранее поднимал этот вопрос, после того, как страница в теме боинга весила 115мб. и безусловно прогружалась вся, включая картинки под спойлером и все гиф. Ничего тогда не добились. Может что сейчас изменилось.
Архив снят с 911tm.9bb.ru, сентябрь 2026. Движок форума не работает, кнопки ответа убраны. Утраченные картинки помечены серыми плашками: их хостинги закрылись раньше, чем мы успели их забрать.


