Скрипты для торрент трекеров

Страницы :   Пред.  1, 2, 3, ... 12, 13, 14  След.
Ответить
 

Xant1k

Top Seed 01* 40r

Стаж: 16 лет 6 месяцев

Сообщений: 3679

Xant1k · 19-Ноя-15 16:02 (9 лет назад)

RoxMarty писал(а):
69054103
Xant1k писал(а):
69053311всё будет обновлено и работать в скором времени.
Отлично! Не забудь, пожалуйста, написать об обновлении отдельным постом. Очень хочется восстановления работы Re-Downloader!
Обновил. Теперь всё должно работать.
Добавлен скрипт Blacklist
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 19-Ноя-15 20:46 (спустя 4 часа, ред. 19-Ноя-15 20:46)

Xant1k писал(а):
69305261Обновил. Теперь всё должно работать
Спасибо. Однако у меня в Firefox (42.0) всё равно не работает. Кнопки есть, но нажатие на них никак не реагирует. Ни открыть, ни добавить раздачу...
А как работае Blacklist? Пытался добавить туда скопипастенное имя или ссылку на профиль (а также активировать галку "Скрывать сообщения") - всё равно показывает
[Профиль]  [ЛС] 

Xant1k

Top Seed 01* 40r

Стаж: 16 лет 6 месяцев

Сообщений: 3679

Xant1k · 19-Ноя-15 22:11 (спустя 1 час 25 мин.)

RoxMarty писал(а):
69307617
Xant1k писал(а):
69305261Обновил. Теперь всё должно работать
Спасибо. Однако у меня в Firefox (42.0) всё равно не работает. Кнопки есть, но нажатие на них никак не реагирует. Ни открыть, ни добавить раздачу...
А как работае Blacklist? Пытался добавить туда скопипастенное имя или ссылку на профиль (а также активировать галку "Скрывать сообщения") - всё равно показывает
В строку идущую после false добавить никнейм юзера сообщения которого не хотим видеть. Каждый следующий никнейм надо так же размещать в отдельной строке.
Что там на Firefox посмотрю уже завтра.
[Профиль]  [ЛС] 

G00ba

RG Orient Extreme

Стаж: 13 лет 5 месяцев

Сообщений: 5086

G00ba · 20-Ноя-15 00:09 (спустя 1 час 57 мин.)

RoxMarty писал(а):
69307617всё равно показывает
там видимо баг, в первую строчку надо добавить рандомную запись (ник). а уж после неё надо писать ники.
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 20-Ноя-15 00:12 (спустя 3 мин.)

Цитата:
В строку идущую после false добавить никнейм юзера сообщения которого не хотим видеть
Вот оно что! А я удалял эту строку, думая, что это просто шаблон
Отлично работает. Спасибо. Попробовал взять любую раздачи и релизера - пропадает вместе с его темой. Прикольно.
P.S. Эх, раньше бы такой скриптик
Цитата:
Что там на Firefox посмотрю уже завтра
Хорошо. Если напишешь заодно как можно восстановить старые (от старого скрипта) настройки раздач - будет здорово! А то я уже и не помню что там было, но раздачи были раритетными и редкообновляемыми - потому не хотелось бы упустить
[Профиль]  [ЛС] 

Xant1k

Top Seed 01* 40r

Стаж: 16 лет 6 месяцев

Сообщений: 3679

Xant1k · 20-Ноя-15 20:10 (спустя 19 часов)

Нашёл ещё вчера почему не работает в FF. Самостоятельно не могу исправить. Ждём сторонней помощи.
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 20-Ноя-15 21:05 (спустя 55 мин.)

Xant1k
Насчёт настроек - как "импортировать" с предыдущей версии (если удастся) - узнай, пожалуйста у спеца Или хотя бы посмотреть ссылки на раздачи - а далее уже пересоздать можно
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 24-Ноя-15 22:26 (спустя 4 дня)

Так-с. Еле откопал свою резервную копию Firefox от 2013 года (версия 24,0), запустил там скрипт - заработало.
Видимо что-то в последующих обновлениях браузера изменили чего следует доработать/адаптировать в скрипте. Жаль, что никто не знает как
P.S. Настройки нашёл в файле redownloader.db (можно переименовать в Rutracker_Re-Downloader.db для новой версии скрипта)
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 23-Дек-15 22:53 (спустя 29 дней)

Насчёт Re-Downloader для Firefox - ничего не слышно? Починить можно как-то?
И можно попросить добавить в скрип Blacklist функцию сокрытия также и в личке? Я пробовал втыкать туда адрес лички - но ничего не вышло (да и я не шарю в скриптах) - видимо заточено только под форум
[Профиль]  [ЛС] 

Ronin427

Top Bonus 03* 1TB

Стаж: 14 лет 9 месяцев

Сообщений: 10975

Ronin427 · 04-Янв-16 01:14 (спустя 11 дней, ред. 14-Янв-16 12:10)

--
[Профиль]  [ЛС] 

zombitv

Стаж: 14 лет 9 месяцев

Сообщений: 440

zombitv · 14-Янв-16 10:27 (спустя 10 дней)

Напишу и здесь. Есть скрипты изменяющие вид сайтов, вот например для rutrecker - https://userstyles.org/styles/browse/rutracker их же не левые дяди пишут, а пользователи трекера, а темы обсуждения этих скриптов нет, типа страницы обратной связи с разработчиками, или я не нашел?
[Профиль]  [ЛС] 

Гость


Гость · 14-Фев-16 08:37 (спустя 30 дней, ред. 04-Фев-17 12:39)

...
 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 14-Фев-16 12:25 (спустя 3 часа)

nikisby
Спасибо за скрипты!
Наверняка кому-то пригодятся (я же люблю ручками выбирать в данном случае )
Хорошо бы как можно большее число людей делилось своими скриптами для рутрекера - наверняка есть что-то интересное и для других
[Профиль]  [ЛС] 

CGGB

Стаж: 16 лет 4 месяца

Сообщений: 132


CGGB · 11-Апр-16 14:18 (спустя 1 месяц 26 дней)

unchqua писал(а):
70432517mark right
Давным-давно написал скрипт для GreaseMonkey, который подставляет в поисковую строку название фильма и год — остаётся нажать «Поиск». Действует на тех страницах, где название раздачи соответствует шаблону. Это, конечно, не то что вы просите, но облегчает.
Код:
// ==UserScript==
// @name           Рутрекер
// @namespace      http://www.unchqua.ru/ns/greasemonkey
// @include        http://rutr.life/*
// @grant          none
// ==/UserScript==
(function(){
do {
var title = window.$("title").text();
var re = /(?:.+? \/ )*(.+?) \(.+\[(\d{4}).+/;
if (!re.test(title))
  break;
re.exec(title);
var searchstring = RegExp.$1 + " " + RegExp.$2;
window.$("#search-text").unbind("click").removeClass("hint").val(searchstring);
} while (false);
})();
[Профиль]  [ЛС] 

19w85

Top Bonus 01* 300GB

Стаж: 17 лет 6 месяцев

Сообщений: 545

19w85 · 12-Апр-16 07:03 (спустя 16 часов, ред. 22-Дек-16 13:19)

CGGB писал(а):
70464858
unchqua писал(а):
70432517mark right
Давным-давно написал скрипт для GreaseMonkey, который подставляет в поисковую строку название фильма и год — остаётся нажать «Поиск». Действует на тех страницах, где название раздачи соответствует шаблону. Это, конечно, не то что вы просите, но облегчает.
скрытый текст
Код:
// ==UserScript==
// @name           Рутрекер
// @namespace      http://www.unchqua.ru/ns/greasemonkey
// @include        http://rutr.life/*
// @grant          none
// ==/UserScript==
(function(){
do {
var title = window.$("title").text();
var re = /(?:.+? \/ )*(.+?) \(.+\[(\d{4}).+/;
if (!re.test(title))
   break;
re.exec(title);
var searchstring = RegExp.$1 + " " + RegExp.$2;
window.$("#search-text").unbind("click").removeClass("hint").val(searchstring);
} while (false);
})();
CGGB, большое спасибо, что прицитировали этот комментарий сюда! (на этот код в теме "Предложения по улучшению форума и трекера" я бы точно не наткнулся). И, конечно, спасибо автору этого кода - unchqua.
Вот именно такого функционала мне иногда очень не хватало. Хотя как оказалось в текущем виде функциональность этого кода меня устраивала не полностью (но я уже привык, что периодически что-то приходится дорабатывать самому до нужного уровня удобства, впрочем, главное, что вообще имеется тот "фундамент", на основе которого есть возможность производить доработки). В частности для сериалов этот код вместо оригинального названия копирует "Серии и их номера" (а лично мне для сериалов тоже нужно корректное копирование названия, т.к. в раздачах от ссылки на "альтернативные раздачи" часто мало толку: то такая ссылка не все подразделы охватывает (например, только SD, но не HD или наоборот), то название этой ссылки раздающим переименовано и/или замаскировано так, что её нужно выискивать в оформлении темы 10-30 секунд), поэтому я решил немного поизучать JavaScript (ну а с регулярными выражениями я уже и так был хорошо знаком задолго до этого) и за пару часов (дольше, чем планировал) допилил этот код до функциональности, которая меня уже более-менее устраивает: в частности теперь корректно обрабатываются заголовки в темах сериалов + если раздача имеет несколько оригинальных названий, то берётся первое оригинальное название, а не последнее (как было в оригинальном коде unchqua) + уточнение адреса применения скрипта (чтобы он грузился только на страницах с темами, а не на всём сайте).
Код (by unchqua) + изменения в коде (by 19w85, v. 1.1)
Код:

// ==UserScript==
// @name           Rutracker 12-04-2016
// @author         unchqua, 19w85
// @version        1.1
// @include        http://rutr.life/forum/viewtopic.php?*
// @grant          none
// ==/UserScript==
(function(){
do {
var title = window.$("title").text();
var re = /\/\s*([^А-я]*?)\s*\/.*\(.+\[(\d{4}).+/;
if (!re.test(title))
var re = /(?:.+? \/ )*(.+?) \(.+\[(\d{4}).+/;
if (!re.test(title))
break;
re.exec(title);
var searchstring = RegExp.$1 + " " + RegExp.$2;
window.$("#search-text").unbind("click").removeClass("hint").val(searchstring);
} while (false);
})();
Код (by unchqua) + изменения в коде (by 19w85, v. 1.3) [Добавлена корректная обработка заголовков в разделе <Русские сериалы> + некоторые другие улучшения/исправления]
Код:

// ==UserScript==
// @name           Rutracker 22-12-2016
// @author         unchqua, 19w85
// @version        1.3
// @include        http*://rutr.life/forum/viewtopic.php?*
// @grant          none
// ==/UserScript==
(function(){
do {
var title = window.$("title").text();
var re = /^([^a-z\/]+) \/ [^a-z]+\[(19\d|20[01])(\d)/;
if (!re.test(title))
re = /\/\s*([^А-я]*?)\s*\/.*\(.+\[(19\d|20[01])(\d)/;
if (!re.test(title))
re = /(?:.+? \/ )*(.+?) \(.+\[(19\d|20[01])(\d)/;
if (!re.test(title))
break;
re.exec(title);
var searchstring = RegExp.$1 + " "+ RegExp.$2 + RegExp.$3 + " | " + RegExp.$2 + "*";
window.$("#search-text").unbind("click").removeClass("hint").val(searchstring);
} while (false);
})();
[Профиль]  [ЛС] 

Candagar2010

Стаж: 14 лет 8 месяцев

Сообщений: 61


Candagar2010 · 16-Апр-16 00:26 (спустя 3 дня)

nikisby есть ли скрипт подобный этому: rutr.life Batch Downloader, но позволяющий скачивать все раздачи со страницы форума?
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 17-Июн-16 14:41 (спустя 2 месяца 1 день, ред. 01-Фев-17 12:50)

Благодаря уважаемому unchqua удалось реализовать некоторые свои давние идеи и запросы других форумчан.
Делюсь вариантом примера "под себя"
Собственное простое меню в личной строке
Код:

// ==UserScript==
// @name        Собственное простое меню в личной строке
// @author      unchqua
// @namespace   cn
// @description Собственное простое меню в личной строке
// @version     1
// @grant       none
// ==/UserScript==
do { // 6. Собственное простое меню в личной строке справа.
var jq = window.$;
if (jq("div#dls-menu").length !== 1) // Нет системного меню - находимся на непонятной странице?
break;
// Делаем надпись и картинку, по нажатию на которую показывается наше меню1.
var newmenu1_placeholder_el =
  jq("<a>")
    .addClass("menu-root menu-alt1")
    .attr("href", "#newmenu1-menu")
    .text("► Прямые сообщения ◄ ")
    .append(
      jq("<img>")
        .addClass("menu-alt1")
        .attr("src", "//static.rutr.life/smiles/icon_cool.gif")
        .attr("alt", "\/")
    );
// Делаем надпись и картинку, по нажатию на которую показывается наше меню2.
var newmenu2_placeholder_el =
  jq("<a>")
    .addClass("menu-root menu-alt1")
    .attr("href", "#newmenu2-menu")
    .text("► Раздачи RoxMarty ◄ ")
    .append(
      jq("<img>")
        .addClass("menu-alt1")
        .attr("src", "//static.rutr.life/smiles/icon_cool.gif")
        .attr("alt", "\/")
    );
// Делаем меню2 с нужными нам пунктами.
var newmenu1_body_el = jq("<div>").attr("id", "newmenu1-menu").addClass("menu-sub");
newmenu1_body_el.append(
  jq("<div>")
    .addClass("menu-a bold nowrap")
        .append(window.$("<a>").addClass("med").attr("href","/forum/privmsg.php?mode=post&u=385759").text("Socrat"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/privmsg.php?mode=post&u=1936816").text("multmir (Евгений)"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/privmsg.php?mode=post&u=1793838").text("xfiles"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/privmsg.php?folder=inbox").text("════════════════════════════════════════════════════════"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/privmsg.php?mode=post&u=24802170").text("LTMMEXDIS"))
);
var newmenu2_body_el = jq("<div>").attr("id", "newmenu2-menu").addClass("menu-sub");
newmenu2_body_el.append(
  jq("<div>")
    .addClass("menu-a bold nowrap")
    .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=3956391").text("Сотрудничество по восстановлению сериалов"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/tracker.php?rid=760904").text("==============ВСЕ РЕЛИЗЫ=================="))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=3877531").text("Looney tunes"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4904153").text("Disney shorts"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4098156").text("Aladdin"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4104776").text("Talespin"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4301116").text("Duck tales"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4301753").text("Chip and Dale"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4301930").text("Gummy bears"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4302168").text("Darkwing Duck"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4526256").text("Timon & Pumbaa"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4538624").text("Goof troop"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4629519").text("Winnie the Pooh"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4686537").text("Mermaid"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4740825").text("Turtles"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4872938").text("Bonkers"))
);
// Помещаем меню на страницу.
jq("#dls-menu").after(newmenu1_body_el);
jq("#dls-menu").after(newmenu2_body_el);
// Располагаем надпись где нам надо.
// После кнопки "Профиль":
//jq("a.menu-root.menu-alt1[href='#dls-menu']").after(jq("<span>").text(" │ "), newmenu2_placeholder_el);
//jq("a.menu-root.menu-alt1[href='#dls-menu']").after(jq("<span>").text(" │ "), newmenu1_placeholder_el);
// Либо перед кнопкой "ЛС":
jq("a[href='privmsg.php?folder=inbox']").before(newmenu2_placeholder_el, jq("<span>").text(" │ "));
jq("a[href='privmsg.php?folder=inbox']").before(newmenu1_placeholder_el, jq("<span>").text(" │ "));
} while (false); // 6
|
Как это выглядит



Вспомогательные кнопки пользователей в темах
Код:

// ==UserScript==
// @name        =Вспомогательные кнопки пользователей в темах (rutracker)
// @author      unchqua
// @namespace   cn
// @description Посмотреть все сообщения конкретного пользователя на странице темы (или вообще все его сообщения)
// @version     1
// @grant       none
// ==/UserScript==
do { // 8. Вспомогательные кнопки пользователей в темах.
var jq = window.$;
// Мы не на странице темы - не работаем.
if (document.location.pathname !== "/forum/viewtopic.php")
break;
// Определяем id темы.
var topic_id = window.BB.PG_BASE_URL.replace(/.*\?t=(\d+).*$/, "$1");
// Идём по всем сообщениям страницы темы.
jq("table#topic_main div.post_btn_2").each(function(idx, elem){
var div_elem = jq(elem);
// Определяем id и логин пользователя.
var user_id = div_elem.find("a[href^='profile.php?mode=viewprofile&u=']").attr("href").replace(/.+&u=(\d+)$/, "$1");
// Делаем новую кнопку.
div_elem.find("a[href^='privmsg.php?mode=post&u=']").after("  ", jq("<a>").addClass("menu-root menu-alt1 txtb").attr("href", "#usermenu-"+user_id).text("[►◄]"));
// Делаем менюшку этого пользователя, если она ещё не создана.
if (jq("div#usermenu-"+user_id).length !== 1) {
jq("body").append(
   jq("<div>").attr("id", "usermenu-"+user_id).addClass("menu-sub").append(
     jq("<div>").addClass("menu-a bold med nowrap").append(
       jq("<h3>").addClass("head").text("Действия")
       , jq("<a>").attr("href", "/forum/search.php?uid="+user_id+"&t="+topic_id+"&dm=1").text("Сообщения только в этой теме")
       , jq("<a>").attr("href", "/forum/search.php?search_author=1&uid="+user_id).text("Сообщения по всему трекеру")
     )
   )
);
}
}); // Все сообщения страницы.
} while (false); // 8
|
Как это выглядит



архив (уже неактуально)
Открыть все (часть) непросмотренных комментариев
Код:

// ==UserScript==
// @name       Открыть все (часть) непросмотренных комментариев (rutracker)
// @author      unchqua
// @namespace   cn
// @description Проверка непрочтённых комментариев подписанных тем рутрекера в отдельных вкладках
// @include     https://rutr.life/*
// @version     1
// @grant       none
// ==/UserScript==
do { // 7. Открытие непрочитанных тем в новых вкладках.
var jq = window.$;
do { // 7.1. Кнопка для начала работы с непрочитанными темами.
var pm_button = jq("div.topmenu a[href='privmsg.php?folder=inbox']");
// Нет системного меню - находимся на непонятной странице?
if (pm_button.length !== 1)
    break;
// Делаем кнопку и помещаем её перед "ЛС".
pm_button.before(
  jq("<a>").attr("href", "/forum/search.php?uid=760904").text("Новые комментарии")
  , jq("<span>").text(" · ")
);
} while (false); // 7.1
do { // 7.2. Открытие непрочитанных тем в новых вкладках.
// Мы не на странице поиска - не работаем.
if (document.location.pathname !== "/forum/search.php")
    break;
// Для тестирования: открытие первой встреченной на странице непрочитанной темы.
//jq("div#main_content_wrap a[href$='&view=newest#newest']:eq(0)").attr("target", "_blank").get(0).click();
// Для тестирования: открытие первых пятидесяти непрочитанных тем (осторожно!).
jq("div#main_content_wrap a[href$='&view=newest#newest']:lt(50)").attr("target", "_blank").each(
  function (idx, elem) {
      elem.click();
  }
);
} while (false); // 7.2
} while (false); // 7
|
Как это выглядит
|
Если не работает в Firefox сделать так

Насчёт последнего пункта - осторожнее, всё открывается в отдельных вкладках браузера. Для меня это удобно, кому много (кто редко заходит на трекер) - может ограничить открытие последних тем в этой части кода (по-умолчанию стоит 50 новых тем = 1 страница):
Код:

lt(50)
[Профиль]  [ЛС] 

unchqua

Техническая помощь (неактивен)

Стаж: 16 лет 4 месяца

Сообщений: 1060

unchqua · 17-Июн-16 16:24 (спустя 1 час 42 мин., ред. 17-Июн-16 16:26)

Вдогонку: пример добавления своих кнопок к текстовому редактору сообщений:
скрытый текст
Код:
do { // Дополнительные кнопки для текстового редактора сообщений.
var jq = window.$;
var bbcode = window.bbcode;
// Панель системных кнопок редактора.
var editor_div = jq("div#ped-editor-buttons");
if (editor_div.length !== 1) // Текстового редактора нет - тут делать нечего.
break;
// Строка с новыми кнопками.
var new_buttons = jq("<div>").addClass("buttons-row");
// Наша кнопка 1:
var new_button_1 =
  jq("<input>")
    .attr("style", "margin: 0 .3em;")
    .attr({value:"\u00a0Разметка 1\u00a0",name:"custom_button_1",title:"Сложная разметка 1",type:"button"})
    .click(function(){
     bbcode.surround("[size=10][color=gray][i]","[/i][/color][/size]");
    }
  );
// Наша кнопка 2:
var new_button_2 =
  jq("<input>")
    .attr("style", "margin: 0 .3em;")
    .attr({value:"\u00a0Разметка 2\u00a0",name:"custom_button_2",title:"Сложная разметка 2",type:"button"})
    .click(function(){
     bbcode.surround("[size=6][color=orange][u]","[/u][/color][/size]");
    }
  );
// Помещаем в строку все наши кнопки, а её добавляем к панели системных кнопок.
editor_div.append(
  new_buttons.append(
    new_button_1,
    new_button_2
  )
);
} while (false);
По комментариям понятно, что там к чему, и можно докидывать свои кнопки.
[Профиль]  [ЛС] 

Xant1k

Top Seed 01* 40r

Стаж: 16 лет 6 месяцев

Сообщений: 3679

Xant1k · 17-Июн-16 17:17 (спустя 53 мин.)

Спасибо вам огромное....... !
Обязательно добавлю всё в шапку темы, но позже. Сейчас нет времени.. другие приоритеты.
[Профиль]  [ЛС] 

gggomg

Стаж: 14 лет 2 месяца

Сообщений: 59


gggomg · 17-Июн-16 18:37 (спустя 1 час 20 мин.)

unchqua
Выражаю высокую признательность за труд и полезные практические улучшения.
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 17-Июн-16 20:02 (спустя 1 час 24 мин.)

unchqua писал(а):
70904347добавления своих кнопок к текстовому редактору сообщений
Спасибо большое! Этого как раз недоставало
[Профиль]  [ЛС] 

zombitv

Стаж: 14 лет 9 месяцев

Сообщений: 440

zombitv · 21-Июн-16 11:16 (спустя 3 дня)

RoxMarty
unchqua
Спасибо за "Вспомогательные кнопки пользователей в темах". Не подскажете как сделать открытие в новой вкладке?
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 8 месяцев

Сообщений: 14627

RoxMarty · 21-Июн-16 11:22 (спустя 5 мин.)

zombitv писал(а):
70926731Не подскажете как сделать открытие в новой вкладке?
Я делаю обычным нажатием средней кнопкой мышки
[Профиль]  [ЛС] 

zombitv

Стаж: 14 лет 9 месяцев

Сообщений: 440

zombitv · 21-Июн-16 11:42 (спустя 20 мин., ред. 21-Июн-16 11:42)

RoxMarty
Да у меня долгий тап настроен для этого, но вопрос был в другом. Очевидно, что функции используются для получения дополнительной информации и ответа в текущей теме, поэтому не логично открывать сообщения в этой же вкладке, так как потом придется возвращаться, и должно быть открытие отдельной вкладки по умолчанию, без всяких средних кнопок.
[Профиль]  [ЛС] 

unchqua

Техническая помощь (неактивен)

Стаж: 16 лет 4 месяца

Сообщений: 1060

unchqua · 21-Июн-16 11:49 (спустя 6 мин.)

zombitv писал(а):
70926731Не подскажете как сделать открытие в новой вкладке?
Пример:
Код:
jq("<a>").attr("target", "_blank").attr("href", "/forum/search.php?search_author=1&uid="+user_id).text("Сообщения по всему трекеру")
То есть для ссылок, которые должны открываться в отдельной вкладке, добавляйте target _blank.
[Профиль]  [ЛС] 

zombitv

Стаж: 14 лет 9 месяцев

Сообщений: 440

zombitv · 21-Июн-16 12:16 (спустя 27 мин., ред. 21-Июн-16 14:35)

Смотрите. Что я не так сделал, почему не работает?
скрытый текст
Код:
// ==UserScript==
// @name        Собственное простое меню в личной строке
// @author      unchqua
// @namespace   cn
// @description Собственное простое меню в личной строке
// @version     1
// @grant       none
// ==/UserScript==
do { // 6. Собственное простое меню в личной строке справа.
var jq = window.$;
if (jq("div#dls-menu").length !== 1) // Нет системного меню - находимся на непонятной странице?
break;
// Делаем надпись и картинку, по нажатию на которую показывается наше меню2.
var newmenu1_placeholder_el =
  jq("<a>")
    .addClass("menu-root menu-alt1")
    .attr("href", "#newmenu1-menu")
    .text("► Раздачи RoxMarty ◄ ")
    .append(
      jq("<img>")
        .addClass("menu-alt1")
        .attr("src", "//static.rutr.life/smiles/icon_cool.gif")
        .attr("alt", "\/")
    );
// Делаем меню2 с нужными нам пунктами.
var newmenu2_body_el = jq("<div>").attr("id", "newmenu1-menu").addClass("menu-sub");
newmenu2_body_el.append(
  jq("<div>")
    .addClass("menu-a bold nowrap")
    .append(window.$("<a>").addClass("med").attr("href","/forum/tracker.php?rid=760904").text("==============ВСЕ РЕЛИЗЫ=================="))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=3877531").text("Looney tunes"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4904153").text("Disney shorts"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4098156").text("Aladdin"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4104776").text("Talespin"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4301116").text("Duck tales"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4301753").text("Chip and Dale"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4301930").text("Gummy bears"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4302168").text("Darkwing Duck"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4526256").text("Timon & Pumbaa"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4538624").text("Goof troop"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4629519").text("Winnie the Pooh"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4686537").text("Mermaid"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4740825").text("Turtles"))
        .append(window.$("<a>").addClass("med").attr("href","/forum/viewtopic.php?t=4872938").text("Bonkers"))
);
// Помещаем меню на страницу.
jq("#dls-menu").after(newmenu1_body_el);
// Располагаем надпись где нам надо.
// После кнопки "Профиль":
//jq("a.menu-root.menu-alt1[href='#dls-menu']").after(jq("<span>").text(" │ "), newmenu2_placeholder_el);
// Либо перед кнопкой "ЛС":
jq("a[href='privmsg.php?folder=inbox']").before(newmenu1_placeholder_el, jq("<span>").text(" │ "));
} while (false); // 6
Тут отбой. Разобрался.
unchqua писал(а):
70926869То есть для ссылок, которые должны открываться в отдельной вкладке, добавляйте target _blank.
Код:
.attr("target", "_blank")
Отлично. Спасибо.
Вообще шикарный скрипт "Собственное простое меню в личной строке". Раньше я пользовался закладками для поиска по определенным тематикам "Программы", "Музыка", "Кино", а теперь все туда забью.
К примеру программы:
Код:
/forum/tracker.php?f=1011,1028,1029,1030,1031,1032,1033,1034,1035,1038,1039,1040,1041,1042,1051,1054,1061,1062,1063,1064,1065,1066,1067,1068,1071,1073,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1199,1204,1536,1636,19
Теперь этим стилем можно пользоваться. Не пользовался им из-за особенности отображения страницы поиска.
[Профиль]  [ЛС] 

DeadNews

Top Seed 04* 320r

Стаж: 13 лет 8 месяцев

Сообщений: 2822

DeadNews · 22-Июн-16 17:08 (спустя 1 день 4 часа)

unchqua писал(а):
70904347пример добавления своих кнопок к текстовому редактору сообщений:
Код:
bbcode.surround("[size=10][color=gray][i]","[/i][/color][/size]");
Как сделать, чтобы по нажатию на кнопку вставлялось
Код:
[spoiler="название"][/spoiler]
или что угодно иное с ""?
[Профиль]  [ЛС] 

unchqua

Техническая помощь (неактивен)

Стаж: 16 лет 4 месяца

Сообщений: 1060

unchqua · 23-Июн-16 11:58 (спустя 18 часов, ред. 23-Июн-16 11:58)

DeadNews
Варианты на выбор:
Код:
bbcode.insertAtCursor("[spoiler=\"\"][/spoiler]");
bbcode.insertAtCursor('[spoiler=""][/spoiler]');
Код:
bbcode.surround("[spoiler=\"\"]", "[/spoiler]");
bbcode.surround('[spoiler=""]', '[/spoiler]');
То есть кавычки внутри других таких же кавычек надо экранировать.
Функция insertAtCursor имеет один аргумент и вставляет этот текст в то место, где стоит курсор.
Функция surround имеет два аргумента и окружает этими текстами выделенное в окне. Если ничего не выделено, вставляет оба текста друг за другом на место курсора.
В яваскрипте для обозначения строки можно использовать парные одинарные кавычки или парные двойные, и если используете одинарные, то внутри можно использовать двойные, и они не будут трактоваться как окончание строки, и наоборот.
Вставить "название" можно, сделав свою кнопку:
Код:
bbcode.surround("[spoiler=\"", "\"][/spoiler]");
Вводите в поле что_хотите, выделяете это и жмёте на кнопку, в результате что_хотели попадает в название спойлера. Заполнить таким образом одновременно и заголовок спойлера, и его содержимое, понятное дело, нельзя.


Новая версия скрипта открытия непрочитанных тем, заменяет ту, что здесь.
Отметка тем прочитанными работает нестабильно! Зачастую открывается, например, десять тем, а прочтёнными отмечается девять или того меньше; связано ли это со скоростью группового открытия или ещё чем-то, я не знаю; для борьбы с этим я сделал задержки между открытиями тем и перед перезагрузкой страницы списка после группового открытия. Для кого это критично, советую обращаться в тему Обсуждение общих вопросов по трекеру и форуму с описанием проблемы, поддержать вопрос RoxMarty, может что ответят.
скрытый текст
Код:
do { // Открытие непрочитанных тем группами в новых вкладках.
// Мы не на странице с темами - не работаем.
if (document.location.pathname !== "/forum/search.php" && document.location.pathname !== "/forum/viewforum.php")
break;
var jq = window.$;
// Сколько тем открывать за раз.
var topics_in_group = 10;
// Задержка между открытиями тем (миллисекунды).
var delay_open = 1000;
// Задержка перед перезагрузкой страницы списка после открытия группы тем (миллисекунды).
var delay_reload = 5000;
// Сколько всего непрочтённых? Сколько открываем в группе?
var topics_unread = jq("div#main_content_wrap a[href$='&view=newest#newest']").length;
var unread_group = jq("div#main_content_wrap a[href$='&view=newest#newest']:lt("+topics_in_group+")").attr("target", "_blank");
var topics_to_open = unread_group.length;
// Есть ли непрочитанные темы?
if (topics_to_open === 0) { // Непрочитанных тем нет.
// Делаем сообщение.
jq("div.topmenu a[href='privmsg.php?folder=inbox']").before(jq("<span>").text("Непрочитанных нет · "));
break;
}
// Делаем кнопку.
var new_button = jq("<a>").attr("href", "#").text("Непрочитанные ("
  + topics_to_open
  + (topics_to_open < topics_unread ? " из "+topics_unread : "")
  + ")")
// Действия по нажатию на кнопку.
.click(function(){
// Открываем следующую группу тем, если такие есть.
// Открытие постепенное, чтобы браузеру не поплохело.
unread_group.each(
  function (idx, elem) {
   window.setTimeout(function(){elem.click();}, idx*delay_open+100);
  }
);
// Обновляем страницу списка.
// Обновление отложенное, после открытия всех тем группы.
window.setTimeout(function(){window.location.reload();}, topics_to_open*1000+delay_reload);
// Возвращаем false, чтобы браузер не переходил по ссылке "#".
return false;
}); // new_button.click(...)
// Помещаем нашу кнопку перед "ЛС".
jq("div.topmenu a[href='privmsg.php?folder=inbox']").before(new_button, jq("<span>").text(" · "));
} while (false);
Из комментариев должно быть ясно, как это работает.
Количество открываемых за раз тем указывается в переменной topics_in_group.
Если непрочитанных тем нет и вы не хотите иметь надпись об этом, убирайте строку за «Делаем сообщение».
Задержки тоже настраиваются. Числа в них сейчас работают у меня почти стабильно.
На кнопке пишется число открываемых тем, а также общее число непрочитанных, если оно больше лимита тем в группе.
Тестируйте.
[Профиль]  [ЛС] 

DeadNews

Top Seed 04* 320r

Стаж: 13 лет 8 месяцев

Сообщений: 2822

DeadNews · 23-Июн-16 13:26 (спустя 1 час 28 мин., ред. 23-Июн-16 13:26)

unchqua
Спасибо.
А если нужно вставить текст с переносом по строкам (в котором >1-ой строки)?
[Профиль]  [ЛС] 

unchqua

Техническая помощь (неактивен)

Стаж: 16 лет 4 месяца

Сообщений: 1060

unchqua · 23-Июн-16 13:29 (спустя 2 мин.)

DeadNews писал(а):
А если нужно вставить текст с переносом по строкам (в котором >1-ой строки)?
Код:
bbcode.insertAtCursor("aaa\nbbb\nccc");
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error