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

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

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


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


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

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

1

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

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

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

Каталог скриптов/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]