Ru-Board.club
← Вернуться в раздел «Помощь по Ru.Board»

» Ru-Board Helper Игнор-лист и другие полезные фичи

Автор: Ke
Дата сообщения: 19.12.2009 07:03
Игнор-лист для RuBoard под браузеры FireFox, Chrome, Opera
Требуется расширение Greasemonkey/Personalized Web


Описание

Скрипт нужен для снижения конфликтности на форуме. Не нравится кто-то - просто введите его в игнор, чтоб глаза не мозолил, вот и всё.

Скрипт срабатывает после полной загрузки страницы, и влияет только на то, как страничка форума отобразиться на вашем компьютере (ни на что больше не влияет).

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


Скрипт

версия 1.0

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

В этот скрипт надо вписать имена тех, чьи сообщения хотите чтобы не показывались. Здесь для примера заигнорированы пользователи Freak и Troll, запишите вместо них своих игнорируемых. Символ @ - это разделитель, чтобы отделять имена друг от друга.

[more=код скрипта (версия 1.0)]
Код:
// ==UserScript==
// @name Ru-Board Helper
// @version 1.0 (18Dec09 02:42:37)
// @include http://forum.ru-board.com/*
// ==/UserScript==

(function() {

var IgnS = ''

// Список игнорируемых. Вписывайте в него тех, кого хотите игнорировать.
// Перед каждым именем должен быть значок "@". он используется как
// разделитель имён.

+'@Freak'
+'@Troll'
;

var Ing = IgnS.split('@');
var TrT = document.getElementsByTagName('tr');
for (var i = TrT.length -1; i >= 0 ; i--) {
var Btag = TrT.getElementsByTagName('b');
if (Btag.length == 0) continue;
for (var j = 0; j < Ing.length; j++) {
if (Btag[0].innerHTML == Ing[j]) {
TrT[i].innerHTML = '<font class=tit>&nbsp;User <b>' +Ing[j] +'</b> ignored</font>';
break;
}
}
}

})();
Автор: NPC
Дата сообщения: 29.12.2009 19:53
а причём тут ру борд?
Расширения для Firefox (Mozilla Firefox Extensions)
и ссылку на источник автора пожайлуста
Автор: Ke
Дата сообщения: 30.12.2009 08:00
NPC

Цитата:
а причём тут ру борд?


Скрипт написан специально под этот форум. На других не работает.


Цитата:
и ссылку на источник автора пожайлуста


Автор - я.
Автор: NPC
Дата сообщения: 30.12.2009 10:01

Цитата:
Скрипт написан специально под этот форум. На других не работает.

Ke ну так если скрипт к твоему любимому Фаерфокс, то стоит постить в той теме где я написал, а здесь просто помощь по ру борд, иначе смахивает на пиар Фаерфокса

Цитата:
Автор - я.

чем докажешь
Автор: bredonosec
Дата сообщения: 30.12.2009 11:52
NPC
плз, кончайте троллить.
Автор: NPC
Дата сообщения: 30.12.2009 12:32
bredonosec поразмысли, причём тут фаерфокс в помощи ру борда? пусть идёт в программы и пишет там скрипт
Автор: bredonosec
Дата сообщения: 31.12.2009 11:15

Цитата:
причём тут фаерфокс

при том же, при чем проксимитрон. Название темы прочтите, и давайте закончим пустое.
Автор: NPC
Дата сообщения: 31.12.2009 11:33

Цитата:
при том же, при чем проксимитрон. Название темы прочтите, и давайте закончим пустое.

bredonosec прочитал название темы, и дал ссылку в программы фаерфокса нечего здесь фаерфокс свой пиарить
Автор: Ke
Дата сообщения: 31.12.2009 12:39
Небольшой пример. Чтобы ввести в игнор, например форумиста NPC нужно добавить к строчкам скрипта.


Цитата:

+'@Freak'
+'@Troll'


ещё строчку:


Цитата:

+'@NPC'


Чтобы получилось вот так:


Цитата:

+'@Freak'
+'@Troll'
+'@NPC'

Автор: NPC
Дата сообщения: 31.12.2009 13:23
удалено
Автор: bredonosec
Дата сообщения: 31.12.2009 15:17
Ke
какое расширение файлу сделать, допиши, плз
Автор: vv07
Дата сообщения: 31.12.2009 15:27
Ke
Поддерживаю просьбу насчет расширения.
Автор: NPC
Дата сообщения: 31.12.2009 15:29
модераторы, перенесите плиз в Расширения для Firefox (Mozilla Firefox Extensions)
и не надо здесь правокации на участников форума гнать, я ничего плохого не делаю, а всего лишь помогаю модераторам
и заблокируйте товарища Ke за провоцирование участников форума, и объеденение участников против других
Автор: vv07
Дата сообщения: 31.12.2009 15:32
Расширение js,но почему то не срабатывает скрипт.Лис просто открывает его,как текстовый файл.
Автор: NPC
Дата сообщения: 31.12.2009 15:40
кстати по поводу игнора, нашёл тут интересное правило
п. 2. главы XIII Соглашения по использованию
Автор: vv07
Дата сообщения: 31.12.2009 16:00
Автору респектище.Разобрался,все работает.
Автор: NPC
Дата сообщения: 31.12.2009 17:46
если что не так, извините друзья, с новым годом!!! ну занесло меня, бывает
Автор: Ke
Дата сообщения: 13.01.2010 19:22
bredonosec

Цитата:
какое расширение файлу сделать, допиши, плз


Прошу извинить, что не ответил сразу, не заметил, что здесь ответы есть. Да, расширение *.js. Сейчас допишу в шапку.

vv07
Пожалуйста.
Автор: Chauvinist
Дата сообщения: 13.01.2010 20:39
Жаль в Опере не работает. Запихнул скрипт в User JS, добавил в игнор Ke и всё равно его вижу..)
Автор: data man
Дата сообщения: 13.01.2010 21:12
Ke
Спасибо !
В Personalized Web для Chrome работает на отлично.

Цитата:
добавил в игнор Ke и всё равно его вижу..

А я его теперь не вижу.
Автор: Ke
Дата сообщения: 14.01.2010 21:17
data man

Цитата:
В Personalized Web для Chrome работает на отлично.


Хорошо! Тогда я в шапку добавлю.


Добавлено:
Небольшая доработка скрипта. Теперь после текста об игнорировании пользователя, добавлена надпись "Show message", если на неё кликнуть, то скрытое сообщение будет показано.

Скрипт игнор-листа:

[more=Код скрипта ( версия 1.1 )]
Код:
// ==UserScript==
// @name IgnoreList for RuBoard
// @version 1.1 (14Jan10 22:28:39)
// @include http://forum.ru-board.com/*
// ==/UserScript==

(function() {

var IgnM = new Array();

function main() {

var IgnS = ''

// Список игнорируемых. Вписывайте в него тех, кого хотите игнорировать.
// Перед каждым именем должен быть значок "@". он используется как
// разделитель имён.

+'@Freak'
+'@Troll'

;

var IgnCnt = -1;
var Ing = IgnS.split('@');
var TrT = document.getElementsByTagName('tr');
for (var i = 0; i < TrT.length ; i++) {
var Btag = TrT[i].getElementsByTagName('b');
if (Btag.length == 0) continue;
for (var j = 0; j < Ing.length; j++) {
if (Btag[0].innerHTML == Ing[j]) {
IgnCnt = IgnCnt +1;
IgnM[IgnCnt] = TrT[i].innerHTML;
TrT[i].innerHTML = '<div ID=Ignor' +IgnCnt
+'><font class=tit>&nbsp;User <b>' +Ing[j] +'</b> ignored. '
+'<a Name=' +IgnCnt +' ID=AIgnor' +IgnCnt +' href=javascript:UnIgn("' +IgnCnt
+'")><u>Show message</u></a></font></div>';
document.getElementById('AIgnor' +IgnCnt).addEventListener("click",
function() {UnIgn(this.name)}, false);
break;
}
}
}
}

function UnIgn(IgnCnt){document.getElementById('Ignor' +IgnCnt).parentNode.innerHTML = IgnM[IgnCnt];}

main();

})();
Автор: data man
Дата сообщения: 15.01.2010 06:28
Ke
Цитата:
Попробуйте, нормально ли работает, не глючит ли.

В Хроме работает, но после клика на "Show message" посты чаще всего показываются смещёнными влево. И не все на одинаковое количество символов.

А ещё такая просьба - можно сделать ещё один, немного другой вариант: показывать посты только заданных пользователей ?
Автор: LEX1
Дата сообщения: 15.01.2010 15:33
Chauvinist 21:39 13-01-2010
Цитата:
Жаль в Опере не работает.

Работает. Только сохранять нужно с расширением .user.js и в utf-8 (либо убрать русские комментарии).

Добавлено:
data man 22:12 13-01-2010
Цитата:
В Personalized Web для Chrome работает на отлично.

Оно в принципе необязательно. Скрипт с правильным расширением (.user.js) устанавливается по клику/перетаскиванию:

Автор: Ke
Дата сообщения: 15.01.2010 20:26
data man

Цитата:
В Хроме работает, но после клика на "Show message" посты чаще всего показываются смещёнными влево. И не все на одинаковое количество символов.


В FireFox тоже так. Видимо это потому, что браузер делает выравнивание таблицы когда в первый раз её выводит. А когда в таблицу потом строчки вставляются, то уже не выравнивает, либо может быть нужно подать ему какую-то команду чтоб выровнял, которой я просто не знаю.


Цитата:
А ещё такая просьба - можно сделать ещё один, немного другой вариант: показывать посты только заданных пользователей ?


Можно.

[more=Код скрипта UnIgnoreList ( версия 1.1 )]

Код:
// ==UserScript==
// @name UnIgnoreList for RuBoard
// @version 1.1 (15Jan10 21:22:57)
// @include http://forum.ru-board.com/*
// ==/UserScript==

(function() {

var IgnM = new Array();

function main() {

var IgnS = ''

// Список НЕ игнорируемых. Вписывайте в него тех, кого НЕ хотите игнорировать.
// Перед каждым именем должен быть значок "@". он используется как
// разделитель имён.

+'@Freak'
+'@Troll'

;

var IgnCnt = -1;
var Ing = IgnS.split('@');
var TrT = document.getElementsByTagName('tr');
for (var i = 0; i < TrT.length ; i++) {
var Btag = TrT[i].getElementsByTagName('b');
if (Btag.length == 0) continue;
var Find1 = 0;
for (var j = 0; j < Ing.length; j++) {
if (Btag[0].innerHTML == Ing[j]) {
Find1 = 1;
break;
}
}
if (Find1 == 0) {
var HrT = TrT[i].getElementsByTagName('hr');
if (HrT.length <= 1) continue;
IgnCnt = IgnCnt +1;
IgnM[IgnCnt] = TrT[i].innerHTML;
TrT[i].innerHTML = '<div ID=Ignor' +IgnCnt
+'><font class=tit>&nbsp;User <b>' +Btag[0].innerHTML +'</b> ignored. '
+'<a Name=' +IgnCnt +' ID=AIgnor' +IgnCnt +' href=javascript:UnIgn("' +IgnCnt
+'")><u>Show message</u></a></font></div>';
document.getElementById('AIgnor' +IgnCnt).addEventListener("click",
function() {UnIgn(this.name)}, false);
}
}
}

function UnIgn(IgnCnt){document.getElementById('Ignor' +IgnCnt).parentNode.innerHTML = IgnM[IgnCnt];}

main();

})();
Автор: data man
Дата сообщения: 15.01.2010 21:38
LEX1

Цитата:
Оно в принципе необязательно.

Если его ни для чего другого не использовать то, конечно, можно и так.

Ke

Цитата:
Можно.
Так, на скорую руку.
Да, скрипты для игнорирования и для НЕ игнорирования надо использовать по отдельности.

Спасибо ! Класс ! А то бывает нужно просмотреть только чьи-то конкретные посты.
Теперь просто: &start=xxxx&all и применяем скрипт - меньше листать приходиться.
Автор: LEX1
Дата сообщения: 15.01.2010 22:36
Ke 21:26 15-01-2010
Цитата:
А как его устанавливают в Опере?

«Для установки юзерскрипта в опере, достаточно скопировать этот файл в вашу папку UserJS. Если её ещё нет, то создайте папку (например, Opera\userjs) и укажите её в меню Настройки->Дополнительно->Содержимое->Настройки Javascript.»
Автор: Chauvinist
Дата сообщения: 15.01.2010 23:02
LEX1

Цитата:
Работает. Только сохранять нужно с расширением .user.js


Т.е. недостаточно сохранить скрипт в виде Ru-Board ignor.js?

Работает! )) Убрал в скрипте кириллицу и назвал скрипт Ru-Board ignor.user.js
Автор: Ke
Дата сообщения: 16.01.2010 02:50
data man

Цитата:
Если его ни для чего другого не использовать то, конечно, можно и так.


Нашёл почему это происходит. Моя ошибка. Исправил.


Цитата:
Спасибо ! Класс ! А то бывает нужно просмотреть только чьи-то конкретные посты.
Теперь просто: &start=xxxx&all и применяем скрипт - меньше листать приходиться.


Пожалуйста.

Если это не навсегда, а от раза к разу, то можно сделать что-то типа окошка поиска на странице, где вводишь ники, и показываются только их постинги. Чтобы скрипт не надо было править каждый раз. Только как это сделать мне надо подумать.


LEX1

Цитата:
«Для установки юзерскрипта в опере, достаточно скопировать этот файл в вашу папку UserJS. Если её ещё нет, то создайте папку (например, Opera\userjs) и укажите её в меню Настройки->Дополнительно->Содержимое->Настройки Javascript.»


Спасибо! Указал.
Автор: Runtime_err0r
Дата сообщения: 19.01.2010 11:12
Ke

Цитата:
В FireFox тоже так. Видимо это потому, что браузер делает выравнивание таблицы когда в первый раз её выводит. А когда в таблицу потом строчки вставляются, то уже не выравнивает, либо может быть нужно подать ему какую-то команду чтоб выровнял, которой я просто не знаю.

Глянь, как я это реализовал в Proxomitron'е - может получится переделать под Greasemonkey/Personalized Web

http://forum.ru-board.com/topic.cgi?forum=13&topic=2523&start=41&limit=1&m=1

Автор: Ke
Дата сообщения: 19.01.2010 13:42
Runtime_err0r

Цитата:
Глянь, как я это реализовал в Proxomitron'е - может получится переделать под Greasemonkey/Personalized Web


Я уже исправил, там мелкая ошибка была. Вон в предыдущем постинге написал.

Страницы: 12345678910111213141516171819

Предыдущая тема: Варезник - иногда/совсем немодерируемый форум?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.