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

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

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


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


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

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

1

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

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

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

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

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

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

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

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

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

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

+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