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

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

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


Вы здесь » Единый форум поддержки » Новые возможности форумов » Запросы по скриптам #11


Запросы по скриптам #11

Сообщений 181 страница 200 из 1742

Перевести1

В этой теме просим о создании различных скриптов

Здесь вы можете оставить запрос на разработку нового скрипта для форума. Пожалуйста, внимательно ознакомьтесь с правилами темы. Просьба быть внимательным: эта тема касается только вопросов о создании новых скриптов!
Вопросы по оформлению форума и прочим CSS-кодам, просьба, задавать в темах Общие вопросы от новичков (63) #3 и Общие вопросы по оформлению (65) #2

Информируем о следующем:

  • Участники форума оказывают помощь в написании скриптов исключительно по собственному желанию.

  • Администрация форума не может гарантировать исполнение и корректность каждого запроса.

  • Пожалуйста, уважайте чужое время и усилия других пользователей, старайтесь писать грамотно и доходчиво.

  • Будьте взаимовежливы: Грубое или требовательное отношение к участникам форума неприемлемо и может привести к отказу в помощи на всём форуме.

  • Все вопросы, не касающиеся запросов скриптов, будут удаляться!

Сформулируйте свой запрос максимально подробно, чтобы повысить вероятность отклика:

  • Опишите желаемую функциональность: Что конкретно должен делать скрипт?

  • Укажите конечный результат: Что вы хотите получить в итоге? Где и как будет использоваться скрипт?

  • Если есть примеры, покажите: Укажите ссылки на схожий функционал скрипта или нарисуйте макет (на скриншоте), чего именно вы ожидаете получить - всё это значительно упростит задачу.

Если на ваш запрос долго нет ответа, пожалуйста, воздержитесь от повторных сообщений или обвинений. Возможно, задача оказалась слишком сложной или трудозатратой по времени, будьте готовы к тому, что участники могут предложить свои услуги на платной основе. Обсуждение условий и оплаты происходит между вами и участником (исполнителем) в личных сообщениях или иных средствах связи (но не в теме!). Администрация форума не несет никакой ответственности за подобные договоренности и их выполнение.

Если скрипт был написан на безвозмездной основе, автор может разместить его в общем каталоге скриптов для других пользователей.

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

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

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

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

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

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

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

Как правильно задавать вопросы. В чём разница между стилем и скриптом.

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

+1

Перевести181

Герда написал(а):

1. выцепить url первой картинки из файла поста http://oaotr.0pk.ru/api.php?method=post … pic_id=192  (находится в [0] message)

задача на самом деле простая, просто убегаю с обеда на работу, а так если тебе нужна не вся тема целиком, а только изображение из первого поста, тогда и ограничь в самом запросе выводить только нужное:

http://oaotr.0pk.ru/api.php?method=post.get&limit=1&topic_id=192&fields=message

0

Перевести182

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

а только изображение из первого поста, тогда и ограничь в самом запросе выводить только нужное:

спасибо. :cool:

но у меня еще и с написанием кода выцепления самой ссылки картинки + вставки в свой код проблема... >.<
я явно что-то не то в этом плане делаю...

0

Перевести183

Герда написал(а):

но у меня еще и с написанием кода выцепления самой ссылки картинки + вставки в свой код проблема... >.<

не факт что для других топиков будет работать, но для твоей ссылки выше для топика с id=192 как-то так:

Код:
$.getJSON('/api.php?method=post.get&limit=1&topic_id=192&fields=message',function(data) {
var mess = data.response[0].message,
vyr = mess.split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/),
newImg = '<img src="'+vyr[2]+'">';
$('какой-то селектор').append(newImg);
});

+2

Перевести184

Romych
спс! метод поняла, остальное дописала, всё получилось.  :cool:

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

не факт что для других топиков будет работать

ну в теории, не будет работать для тех топиков, где НЕТ картинок в первом посте. :)
а скрипт рассчитан на тех, кто фотки грузит в первопост.

для тех, у кого не каждый раздел - это галерея, будет опция указать форумы, где он работает.

в любом случае скриптом уже 3 форума как минимум интересуется. будем тестить. :cool:

+1

Перевести185

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

не факт что для других топиков будет работать

вот ты как в воду глядел...

что делать, если пикча может быть завернута в html?
пример: http://forumd.ru/api.php?method=post.ge … ds=message

я так понимаю, тут надо доколдовать со строчкой
vyr = mess.split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/),

0

Перевести186

Герда
vyr = mess.split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/),
vyr2 = $(mess).text().split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/),

2-я строка - если есть HTML
а далее сравниваем, если нет в первой, ставим вторую... если нет ни в первой, ни во второй - наверно ничо не ставим ?

Отредактировано Deff (Вт, 13 Окт 2020 01:53:07)

+1

Перевести187

Возможно такой сойдёт (одной строкой)
vyr = $('<textarea>'+mess+'</textarea>').val().split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/),

Отредактировано Deff (Вт, 13 Окт 2020 03:07:43)

+1

Перевести188

Deff
а как вставлять их в:
newImg = '<img src="'+vyr[2]+'" class="postimg">'; ?

если строк две, над, получается, доп. условие...

попробовала вот так:
if (vyr = "undefined") {vyr = $(mess).text().split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/);}

но так видимо низя.

если над, мои потуги здесь: http://oaotr.0pk.ru/viewforum.php?id=72

0

Перевести189

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

Возможно такой сойдёт (одной строкой)
vyr = $('<textarea>'+mess+'<textarea>').val().split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/),

да, спасибо - это сработало.  :cool:

сорян, сначала погнала экспериментировать с двумя строками и условиями вставки. не увидела второй пост. :)

+1

Перевести190

Герда написал(а):

да, спасибо - это сработало.

Я там поправил... Закрывашку забыл проставить у теxtarea </теxtarea

Отредактировано Deff (Вт, 13 Окт 2020 03:11:06)

0

Перевести191

есть вопрос по скрипту развертывания картинок:

Код:
<!-- Развертывание картинок Увеличение картинок (c) satsana -->
<script type="text/javascript">
 function postimgOnhover (img) {if (img.offsetWidth != 0  && img.naturalWidth > img.offsetWidth) {
  img.style.cursor = 'zoom-in'; img.onclick = function () {
   var imgHeight = img.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(255, 255, 255, 0.9); overflow: auto; text-align: center; z-index: 10000;">' + '<img class="lightimg" src="' + img.src + '" onclick="this.parentNode.remove()" style="position: relative; top: ' + topShift + 'px; cursor: zoom-out;border: 3px solid #f98561;">' + '</div>');}}}
window.onload = function() {var postimges = document.getElementsByClassName('postimg');
 for (var i=0; i<postimges.length; i++) {postimges[i].onmouseover = function () {postimgOnhover (this)};}}
</script>

можно его как-то заставить работать совместно со скриптом превью картинок?
на данный момент он у меня срабатывает только если я помолюсь и перезагружу страницу через Ctrl+f5 (или при первой загрузке): http://forumd.ru/viewforum.php?id=33&p=2
при обычном серфинге по закешированным картинкам - не на всех и изредко.

из простых методов - пробовала его ставить выше/ниже, а также добавить $(document).ready(function() {
не помогло.

не пойму, что мешает ему срабатывать на картинки - нужный класс есть, даже если страничка сильно тормозит (например, когда в очередной раз баги на русфф) - он срабатывает после загрузки.

0

Перевести192

Герда
Попробуй добавить красным ?

<!-- Превью первой картинки топика © ForumD.ru, Герда -->
<script type="text/javascript">
var prevForum = [33, 97];

if (document.URL.indexOf('viewforum.php?id=') != -1) {var forumNow = +document.URL.match(/viewforum.php\?id=\d+/)[0].match(/\d+/)[0];}
else {var forumNow = 0}
if (prevForum.indexOf(forumNow) != -1 || (forumNow != 0 && (!prevForum || prevForum.length == 0))) {
(function() {
    $('.forum td.tcl').append('<div class="prev-pic"></div>');
    var arr = [];
    $('.forum table td.tcl').parent('tr').each(function(i) {
        var id = $(this).find('.tcl a:first').attr('href');
        id = id.split('id=')[1];
        var select = $(this).find('.prev-pic');
        if(!arr[i%1])arr[i%1] = [];
        arr[i%1].push([id, select]);
    });
    function getSubscript(i, j) {
        $.getJSON('/api.php?method=post.get&limit=1&topic_id=' + arr[i][j][0] + '&fields=message',function(data) {
            var mess = data.response[0].message,
            vyr = $('<textarea>'+mess+'</textarea>').val().split(/(?:(src|alt)\=\")(https?\:\/\/.*?\.(png|jpg|gif|jpeg|webp))(?:\")/),
            newImg = '<img src="'+vyr[2]+'" class="postimg">';
            arr[i][j][1].append(newImg);
            arr[i][j][1].find('.postimg')[0].onmouseover = function () {postimgOnhover (this)};
            if (++j < arr[i].length) getSubscript(i, j);
        });
    }
    var j = 0;
    for (var i = 0; i < arr.length; i++) {
        getSubscript(i, j);
    }
}());
}
</script>

Ты ксать не поправила закрывашку у </textarea>  (Тут поправлено!

Отредактировано Deff (Вт, 13 Окт 2020 05:58:29)

+1

Перевести193

Герда написал(а):

не пойму, что мешает ему срабатывать на картинки - нужный класс есть, даже если страничка сильно тормозит (например, когда в очередной раз баги на русфф) - он срабатывает после загрузки.

Страница (window.onload) запускающая скрипт увеличения грузится быстрее, чем заканчивается аякс-опрос и вставка картинок, ксать пакетом по пять наверно бы успело до загрузки страницы  :playful:
Хотя не факт, бу зависить от числа тем на странице( но всё одно пакетами по пять быстрее грузится при медленном инете...

if(!arr[i%5])arr[i%5] = [];
        arr[i%5].push([id, select]);

Хотя, если одновременных аякс-запросов много(кроме этих картинок), мон сократить хотя бы до 3

Отредактировано Deff (Вт, 13 Окт 2020 06:08:40)

0

Перевести194

Герда написал(а):

есть вопрос по скрипту развертывания картинок:

Код:
<!-- Развертывание картинок Увеличение картинок (c) satsana -->
<script type="text/javascript">
 function postimgOnhover (img) {if (img.offsetWidth != 0  && img.naturalWidth > img.offsetWidth) {
  img.style.cursor = 'zoom-in'; img.onclick = function () {
   var imgHeight = img.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(255, 255, 255, 0.9); overflow: auto; text-align: center; z-index: 10000;">' + '<img class="lightimg" src="' + img.src + '" onclick="this.parentNode.remove()" style="position: relative; top: ' + topShift + 'px; cursor: zoom-out;border: 3px solid #f98561;">' + '</div>');}}}
window.onload = function() {var postimges = document.getElementsByClassName('postimg');
 for (var i=0; i<postimges.length; i++) {postimges[i].onmouseover = function () {postimgOnhover (this)};}}
</script>

можно его как-то заставить работать совместно со скриптом превью картинок?
на данный момент он у меня срабатывает только если я помолюсь и перезагружу страницу через Ctrl+f5 (или при первой загрузке): http://forumd.ru/viewforum.php?id=33&p=2
при обычном серфинге по закешированным картинкам - не на всех и изредко.

из простых методов - пробовала его ставить выше/ниже, а также добавить $(document).ready(function() {
не помогло.

не пойму, что мешает ему срабатывать на картинки - нужный класс есть, даже если страничка сильно тормозит (например, когда в очередной раз баги на русфф) - он срабатывает после загрузки.

Вместо window.onload можно использовать:

Код:
$(window).on('mouseover', '.postimg', (e) => {postimgOnhover(e.target);});

И короче и будет работать с картинками, загруженными после onload.

+2

Перевести195

kernel
а что если уведомления включить бесплатно всем
немгновенный вариант

-1

Перевести196

tartar1
Товарищ-халявщик. Что такое "немгновенный вариант" уведомлений?

+1

Перевести197

Герда написал(а):

Что такое "немгновенный вариант" уведомлений?

Это когда приходит уведомление: "Вы знаете? Тут месяц назад один подозрительный тип, коварной наружности, заходил в ваш профиль ...читал. Долго читал."

+6

Перевести198

Romych
kernel
это когда уведомление после обновления стрнц

0

Перевести199

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

Romych
kernel
это когда уведомление после обновления стрнц

И что должно делать это уведомление?

0

Перевести200

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

Romych
kernel
это когда уведомление после обновления стрнц

это не имеет значения: мгновенно они приходят или после обновления.
эти уведомления должны где-то храниться. а у нас в движке такого хранилища нет.

сам объем работ по уведомлениям за бесплатно никто делать не будет, пока существует платное решение от Алекса.
нафига нам коллегу лишать куска хлеба? чтоб тебя порадовать? акстись, нам Алекс и его возможность подзаработать чуть-чуть на уведомлениях ничем не мешает.

тебе уже неоднократно говорили: заплати денег Алексу и спи спокойно. иначе - никак.

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

Добавлено спустя 6 минут 35 секунд:
посмотрела - уведомления от русфф, вроде как, можно и без переезда подключить здесь: http://lab.rusff.ru/
наслаждайся халявой.

других уведомлений за бесплатно нет и не будет. закрыли тему.
еще раз увижу, что ты без повода тыркаешь бесплатными уведомлениями, удалю как флуд, т.к. в этом посте тебе ПОЛНОСТЬЮ объяснено, почему это платно и почему этого не будет в ближайшее время.
поднять этот вопрос будет актуально только когда уведомления от Алекса накроются медным тазом.

+3


Вы здесь » Единый форум поддержки » Новые возможности форумов » Запросы по скриптам #11