Единый форум поддержки

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

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


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[8]


Запросы по скриптам[8]

Сообщений 641 страница 660 из 1001

1

Архивная тема с запросами о создании различных скриптов

Это архивная тема с запросами от пользователей на написание скриптов. Некоторые скрипты могут быть индивидуальным исполнением для конкретного форума, что не гарантирует его работоспособность на другом форуме. Перед использованием скрипта, пожалуйста, внимательно изучите все предыдущие сообщения между автором запроса и исполнителем, в них могут содержаться важные детали о функционале и установке найденного скрипта.
Скрипты, опубликованные в этой теме, могут быть устаревшими и нерабочими, поскольку функционал форумов и стандарты языка javascript или библиотеки jquery могли измениться.

Предыдущая тема - Запросы по скриптам[7]
Следующая тема - Запросы по скриптам[9]

Инструменты для поиска и редактирования стиля (скриптов).

Как с помощью браузера можно определить элемент дизайна.

Каталог скриптов/CSS

Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое НТМЛ и CSS.

Типовые Вопросы (ЧаВо)

Ответы на часто задаваемые вопросы.

Как задавать вопросы! Разница между стилем и скриптом. ( Советы)

Плюс к названию темы еще и Памятка.

+4

641

Alex_63, все отлично. Обновка классная, было бы жаль ее лишиться. Спасибо за скрипт и правку. : )

0

642

Кертес
:glasses: Сейчас будет еще круче новость, ждите

0

643

Alex_63  уже знаем новость-- в админке- хорошая новость стока нового всего..спасибо

+2

644

dana123
:yep: Именно (Когда уже успели заметить :rolleyes:)

+1

645

Alex_63
К слову, да, тоже успела заметить) Спасибо!
Вопрос чисто практический (пока сама не пробовала) - насколько большой выигрыш в скорости загрузки между скриптами, подключенными через админку и ими же обычным способом, в html низ/верх? Я просто очень люблю частично переписывать скрипты и их оформление под себя, хотелось бы это узнать, чтобы понимать, есть ли смысл переходить на включаемую версию из админки.

+1

646

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

Именно (Когда уже успели заметить )

О как, я не заметил. Думал, речь пойдет о подфорумах, ибо их летом как раз обещали сделать через админку. Правда, у нас, скорее всего, все поедет к чертовой бабушке при подключении, но все равно любопытно было.
Из обновок интересен, по сути. только один скрипт. так что просто порадуюсь за тех, кто порадовался. : )

+2

647

Кертес написал(а):

Думал, речь пойдет о подфорумах,

К сожалению, к текущему моменту мы не успели подготовить обновление по подфорумам. Когда закончим и выкатим подфорумы - точно сказать не могу.

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

Вопрос чисто практический (пока сама не пробовала) - насколько большой выигрыш в скорости загрузки между скриптами, подключенными через админку и ими же обычным способом, в html низ/верх?

Именно в скорости выигрыша нет, эти скрипты подгружаются точно так же через кеш CloudFlare, как и все остальные файлы. Тут просто по удобству - скрипты через админку подключать/отключать проще, они лучше отлажены и недочеты в них (если таковые есть) исправляются быстрее. Ну и сервисным скриптом гарантированно нельзя сломать форум. К тому же объем в HTML верх/низ при этом не тратится, - он ограничен 64кб по техническим причинам и обычные пользовательские коды отнимают часть объема.

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

+5

648

А можно скрипт Скрипты от пользователей 3 применять к определенным форумам или темам?

А еще у картинок пропала кликабельность, например  http://arkania.rolebb.ru/viewtopic.php?id=19#p3407

Отредактировано Lidia-Lada (Пт, 23 Июн 2017 14:20:41)

0

649

Lidia-Lada
Для форумов: ( Могу аналогичное сваять и для тем)

<!-- Развертывание картинок -->
<script type="text/javascript">
(function (){
var PSTimgFor = [12,42,66]; //ID форумов, где работает скрипт
if($('#pun-viewtopic').length&&$.inArray(+FORUM.topic.forum_id,PSTimgFor)==-1)return;
var postimges = document.getElementsByClassName('postimg');
for (var i=0; i<postimges.length; i++) {
  var imgWidth0 = postimges[i].clientWidth, imgWidth = postimges[i].naturalWidth;
  if (imgWidth>imgWidth0) {
   postimges[i].style.cursor = 'zoom-in';
   postimges[i].onclick = function () {
    var imgHeight = this.naturalHeight, winHeight = window.innerHeight;
    var topShift = (winHeight>imgHeight ? (winHeight-imgHeight)/2 : 0);
    $('body').append('<div class="lightbox" style="position: fixed; top: 0; left: 0; width: 100%;\
     height: 100%; background-color: rgba(0, 0, 0, 0.9); overflow: auto; text-align: center;">' +
     '<img class="lightimg" src="' + this.src + '" onclick="this.parentNode.remove()" style="position: relative; top: ' +
     topShift + 'px; cursor: zoom-out;">' + '</div>');}}}}())
</script> <!-- Развертывание картинок (END) -->

0

650

Алекс! Спасибо!
Для моего второго форума в самый раз.

Кстати, кликабельность на ролевом форуме пропала из-за скрипта "Автоматическая разбивка на абзацы"(скрипт выше предыдущего) они как бы под абзацом находятся. Можно как-то картинки с обтеканием "поднять"?
А ещ можно этот скрипт сделать подключаемым к определенным темам?

Отредактировано Lidia-Lada (Пт, 23 Июн 2017 19:10:31)

0

651

Lidia-Lada написал(а):

А еще у картинок пропала кликабельность, например  http://arkania.rolebb.ru/viewtopic.php?id=19#p3407

Попробуйте убрать красное в Вашем коде стиля

.postimg[alt="float:right"]{float:right;padding-left:12px;pointer-events:none}
.postimg[alt="float:left"]{float:left;padding-right:12px;pointer-events:none}

(*Это никак не связано со скриптом разбивки на абзацы ...
=============================================

Lidia-Lada написал(а):

Плюс можно этот скрипт тоже сделать подключаемым к определенным темам?

Можно, (но ксать этот скрипт наверняка должен ломать BB-коды, которыми обрамлен текст с переносами(такие как [i],[font=],[size=]
Нун как-то искать теги и закрывать их,  а в новом абзаце снова открывать... (Кстати Вопрос актуален и для серверного парсера постов - может попробую сваять подобное на JS
Ну а пока так: (с действием ток в указанных форумах

<style>
.post-content {text-align: justify;}
td p {text-indent: 0 !important;}
.post-content p {
  text-indent: 1.5em;
  padding: 0 0 0.5em 0 !important;
}
</style>
<!-- Разбивка на абзацы -->
<script type="text/javascript">
if($('#pun-viewtopic').length&&$.inArray(+FORUM.topic.forum_id,[12,42,66])!=-1)$(".post-content").html(function() {
  var pos = 0, spanpos = 0, brpos = 0; var str = this.innerHTML;
  while (true) {
    spanpos = str.indexOf("<span", pos);
    brpos = str.substring(pos).search(/(\<br\s?\/?\>)+(?!<span style="display:inline-block)/);
    if (brpos == -1) {return str;} else {brpos += pos;}
    if (spanpos < brpos && spanpos != -1) {
      var span1 = 1, span2 = 0; pos = spanpos + 2;
      while (span1 != span2) {
        pos = str.indexOf("span", pos);
        if (str.substring(pos-1, pos) == "/") {span2++;} else {span1++;}
        pos++;
        if (str.indexOf("<span", pos) == str.indexOf("<br>", pos)) {break;}
      }
    } else if (spanpos > brpos || spanpos == -1) {
      str = str.substring(0, brpos) + str.substring(brpos).replace(/(\<br\s?\/?\>)+/, '</p><p>'); pos = brpos++;
    } else {return str;}
  }
})
</script> <!-- Разбивка на абзацы (end) -->

+1

652

Alex_63
Но эта

<style>
.post-content {text-align: justify;}
td p {text-indent: 0 !important;}
.post-content p {
  text-indent: 1.5em;
  padding: 0 0 0.5em 0 !important;
}
</style>

часть применяется ко всему форуму. Можно её куда-то в скрипт "присобачить"?
Или просто воспользоваться скриптом "Мини-Стиль для определенных тем © Alex_63"?


Решено

А можно еще к разбивке на абзацы этот скрипт присоединить?

<!-- Авто-подстановкой длинных тире -->
<script>$('.post-content p').html(function(){return this.innerHTML.replace(/(\s|&nbsp;)?-(\s|&nbsp;)/g,'$1&mdash;$2')})</script>

Тоесть чтобы он срабатывал вместе с автоматической разбивкой на абзацы.

Отредактировано Lidia-Lada (Сб, 24 Июн 2017 15:56:40)

0

653

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

<!-- Развертывание картинок -->
<script type="text/javascript">
(function (){
var PSTimgFor = [2,7,8,59,9,10,11,12,13,14]; //ID форумов, где работает скрипт
if($('#pun-viewtopic').length&&$.inArray(+FORUM.topic.forum_id,PSTimgFor)==-1)return;
var postimges = document.getElementsByClassName('postimg');
for (var i=0; i<postimges.length; i++) {
  var imgWidth0 = postimges[i].clientWidth, imgWidth = postimges[i].naturalWidth;
  if (imgWidth>imgWidth0) {
   postimges[i].style.cursor = 'zoom-in';
   postimges[i].onclick = function () {
    var imgHeight = this.naturalHeight, winHeight = window.innerHeight;
    var topShift = (winHeight>imgHeight ? (winHeight-imgHeight)/2 : 0);
    $('body').append('<div class="lightbox" style="position: fixed; top: 0; left: 0; width: 100%;\
     height: 100%; background-color: rgba(0, 0, 0, 0.9); overflow: auto; text-align: center;">' +
     '<img class="lightimg" src="' + this.src + '" onclick="this.parentNode.remove()" style="position: relative; top: ' +
     topShift + 'px; cursor: zoom-out;">' + '</div>');}}}}())
</script> <!-- Развертывание картинок (END) -->

У меня не срабатывает http://beads.artbb.su/viewtopic.php?id=32

http://beads.artbb.su/viewtopic.php?id=45 у меня почему-то все коды в тегах переместились вниз, а сообщение копировалось отсюда http://arkania.rolebb.ru/viewtopic.php?id=20.

Отредактировано Lidia-Lada (Сб, 24 Июн 2017 12:29:02)

0

654

Lidia-Lada написал(а):

А можно еще к разбивке на абзацы этот скрипт присоединить?

Можно поставить его отдельно, но прописать на те же форумы, что и разбивку на абзацы. Красным - цифры форумов, где заменяем тире.

<!-- Авто-подстановка длинных тире -->
<script>if($('#pun-viewtopic').length&&$.inArray(+FORUM.topic.forum_id,[8,9,2,5])!=-1)$('.post-content p').html(function(){return this.innerHTML.replace(/(\s|&nbsp;)?-(\s|&nbsp;)/g,'$1&mdash;$2')})</script>
<!-- Конец -->

+2

655

Кстати, заметила, что если в посте анкеты Скрипт для создания анкет (новая версия) будет код маски Скрипты от пользователей 3 то заполнять анкету просто невозможно по-человечески. Например, пишешь слово в текстареа, выделяешь и нажимаешь "Жирный". В итоге теги жирного текста появляются в быстром ответе. Конечно этот момент можно обойти. Я к примеру вообще минипрофиль скрыла: http://arkania.rolebb.ru/viewtopic.php?id=17#p363

Еще удивительно то, что в другом шаблоне у меня появляется над текстареа кнопка маски http://arkania.rolebb.ru/viewtopic.php?id=87 и http://arkania.rolebb.ru/viewtopic.php?id=89#p4555.

Ну и кнопка плеера, наверно все равно работать не будет.

0

656

Lidia-Lada написал(а):

У меня не срабатывает http://beads.artbb.su/viewtopic.php?id=32

А если воткнуть скрипт в самый конец HTML низ?, у Вас событие на картинках убиваецо каким-то скриптом, что ниже

Lidia-Lada написал(а):

у меня почему-то все коды в тегах переместились вниз, а сообщение копировалось отсюда http://arkania.rolebb.ru/viewtopic.php?id=20.

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

0

657

Lidia-Lada написал(а):

Но эта

часть применяется ко всему форуму. Можно её куда-то в скрипт "присобачить"?

Ну к примеру так:

<style>
.post-content.my-p {text-align: justify;}
.post-content.my-p td p {text-indent: 0 !important;}
.post-content.my-p p {
  text-indent: 1.5em;
  padding: 0 0 0.5em 0 !important;
}
</style>
<!-- Разбивка на абзацы -->
<script type="text/javascript">
if($('#pun-viewtopic').length&&$.inArray(+FORUM.topic.forum_id,[12,42,66])!=-1)$(".post-content").addClass('my-p').html(function() {
  var pos = 0, spanpos = 0, brpos = 0; var str = this.innerHTML;
  while (true) {
    spanpos = str.indexOf("<span", pos);
    brpos = str.substring(pos).search(/(\<br\s?\/?\>)+(?!<span style="display:inline-block)/);
    if (brpos == -1) {return str;} else {brpos += pos;}
    if (spanpos < brpos && spanpos != -1) {
      var span1 = 1, span2 = 0; pos = spanpos + 2;
      while (span1 != span2) {
        pos = str.indexOf("span", pos);
        if (str.substring(pos-1, pos) == "/") {span2++;} else {span1++;}
        pos++;
        if (str.indexOf("<span", pos) == str.indexOf("<br>", pos)) {break;}
      }
    } else if (spanpos > brpos || spanpos == -1) {
      str = str.substring(0, brpos) + str.substring(brpos).replace(/(\<br\s?\/?\>)+/, '</p><p>'); pos = brpos++;
    } else {return str;}
  }
})
</script> <!-- Разбивка на абзацы (end) -->

0

658

Lidia-Lada написал(а):

Кстати, заметила, что если в посте анкеты Скрипт для создания анкет (новая версия) будет код маски Скрипты от пользователей 3 то заполнять анкету просто невозможно по-человечески.

Попробуйте заменить скрипт -добавку кнопок к Анкете на такой

<script type="text/javascript">
$(document).ready(function() { //return;
  var button_tbl = $('#post #form-buttons').clone().addClass('new');
  button_tbl.find('#button-image>img')[0].setAttribute('onclick','bbcode(\'['+'img]\',\'[/img]\')');
  button_tbl.find('td:not(#button-bold):not(#button-italic):not(#button-underline):not(#button-image):not(#form-audio):not(#button-link)').remove();
  button_tbl.insertBefore('.questionary-post textarea');
  $('.cnt-part').has('.new[id="form-buttons"]').map(function() {
     var height = $(this).height()+(20*$(this).find('[id="form-buttons"]').length);
     $(this).parent().find('.cnt-part').css('min-height',height+'px');$(this).parent().css('min-height',height+'px');
  });
  $('body').on('mouseenter','.new[id="form-buttons"]',function() {
     var area = $(this).next('textarea');if(!area.length){area = $(this).next().find('textarea');}
     $('.questionary-post').find('textarea').removeAttr('id');
     if(area[0].id!='main-reply')area.attr('id','main-reply');
  }).on('mouseleave',function(){$('.questionary-post textarea').removeAttr('id');});
});
</script>

=======================
Про кнопку аудио... Ну поскольку окошко для ввода данных треков вставляется только в стандартную форму ответа - кнопкой аудио мон воспользоваться только там... По крайней мере, не влезая  в скрипт Romych'а, я ничо не могу сделать

0

659

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

А если воткнуть скрипт в самый конец HTML низ?, у Вас событие на картинках убиваецо каким-то скриптом, что ниже

переместила. но не срабатывает.

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

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

Без хэштегов все хорошо

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

<!-- Хэштеги -->
<script type="text/javascript">
$().pun_mainReady(function(){$('.post-content:contains("#")').map(function(){
    var a = '#',b = '_&HASH&_',c = '.code-box',cl = $(this).find(c).clone(true,true);
    $(this).find('a').attr('href',function(){return this.href.replace(a,b)});
    var lnkTAG = '<a href="/search.php?action=search&keywords=%23$1&sort_dir=DESC" title="$1">#$1</a>';
    var cnt = $(this).html().replace(/#([^\s"'<>\(\);]+)/ig,lnkTAG); $(this).html(cnt);
    $(this).find(c).replaceWith(cl); $(this).find('a').attr('href',function(){return this.href.replace(b,a)});
  });});
</script>

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

Попробуйте заменить скрипт -добавку кнопок к Анкете на такой

Помогло.

0

660

Lidia-Lada написал(а):

переместила. но не срабатывает.

А если так ? ( Сам код оставить где был - в конце HTML низ

<!-- Развертывание картинок -->
<script type="text/javascript">
$(function (){
var PSTimgFor = [2,7,8,59,9,10,11,12,13,14]; //ID форумов, где работает скрипт
if($('#pun-viewtopic').length&&$.inArray(+FORUM.topic.forum_id,PSTimgFor)==-1)return;
var postimges = document.getElementsByClassName('postimg');
for (var i=0; i<postimges.length; i++) {
  var imgWidth0 = postimges[i].clientWidth, imgWidth = postimges[i].naturalWidth;
  if (imgWidth>imgWidth0) {
   postimges[i].style.cursor = 'zoom-in';
   postimges[i].onclick = function () {
    var imgHeight = this.naturalHeight, winHeight = window.innerHeight;
    var topShift = (winHeight>imgHeight ? (winHeight-imgHeight)/2 : 0);
    $('body').append('<div class="lightbox" style="position: fixed; top: 0; left: 0; width: 100%;\
     height: 100%; background-color: rgba(0, 0, 0, 0.9); overflow: auto; text-align: center;">' +
     '<img class="lightimg" src="' + this.src + '" onclick="this.parentNode.remove()" style="position: relative; top: ' +
     topShift + 'px; cursor: zoom-out;">' + '</div>');}}}});
</script> <!-- Развертывание картинок (END) -->

Lidia-Lada написал(а):

Без хэштегов все хорошо

СПС...(Нде - нун править, значит...

Lidia-Lada написал(а):

Помогло.

Переставьте скрипт еще раз (Еще поправил

<script type="text/javascript">
$(document).ready(function() { //return;
  var button_tbl = $('#post #form-buttons').clone().addClass('new');
  button_tbl.find('#button-image>img')[0].setAttribute('onclick','bbcode(\'['+'img]\',\'[/img]\')');
  button_tbl.find('td:not(#button-bold):not(#button-italic):not(#button-underline):not(#button-image):not(#form-audio):not(#button-link)').remove();
  button_tbl.insertBefore('.questionary-post textarea');
  $('.cnt-part').has('.new[id="form-buttons"]').map(function() {
     var height = $(this).height()+(20*$(this).find('[id="form-buttons"]').length);
     $(this).parent().find('.cnt-part').css('min-height',height+'px');$(this).parent().css('min-height',height+'px');
  });
  $('body').on('mouseenter','.new[id="form-buttons"]',function() {
     var area = $(this).next('textarea');if(!area.length){area = $(this).next().find('textarea');}
     $('.questionary-post').find('textarea').removeAttr('id');
     if(area[0].id!='main-reply')area.attr('id','main-reply');
  }).on('mouseleave','.new[id="form-buttons"]',function(){$('.questionary-post textarea').removeAttr('id');});
});
</script>

0


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[8]