LINUX.ORG.RU

[js]игнор скрипт

 


0

0

Есть абстрактный форум на php. Но администрация напрочь отказывается реализовывать игнор, поэтому по аналогии с ЛОРом, возникло желания написания скрипта для автоскрытия ненужных личностей.

Сообщения выглядят так http://pastebin.com/m1DL7bBe

где livello, соответственно, - ник абстрактного пользователя.

В js нуль, но есть желание и возможность, соответственно хотелось бы получить совет, в каком направлении начать смотреть, для решения данной проблемы.

★★★★★

объясни подробнее, ты хочешь сделать какую-то страницу, которая будет грузить форум во фрейм и что-то в нем скрывать? вряд ли получится. если я не ошибаюсь, яваскрипт не дает доступа к dom-дереву ресурса, загруженного с чужого домена. можно, конечно, грузить его через какой-нибудь xmlhttprequest, редактировать дерево и потом тупо через document.write выводить в собственный документ...

anonymous
()

В направлении каких-нибудь jquery/других фреимворков и функций типа hide()

Breton
()

Хотелось бы чего-то в этом ключе.

По всей видимости действительно надо смотреть в сторону jquery, в привиденном примере как раз так это и реализовано.

silw ★★★★★
() автор топика
Ответ на: комментарий от legolegs

если найдется желающий, то пусть напишет, но хотелось бы сделать самостоятельно.

silw ★★★★★
() автор топика
Ответ на: комментарий от silw

Ну, если сам собрался писать, то суть такова:

Находишь в html-коде страницы как устроены сообщения (на веб форумах это обычно таблицы, и сообщения лежат в строках tr. Находишь эту таблицу (обычно у неё есть id, значит getElementById) и перебираешь её детей («for (var i=0;i<table.children.length;i++)»), покопавшись в детях тээра (тупо через table.children[i].children[1].children[3].children[и т.д.]) выдираешь имя, сравниваешь с игнор-списком и, если нужно, делаешь table.children[i].style.display=«none».

Всё проще пареной репы, только надо html-код акурить и индексы детей подобрать.

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

огромное спасибо. В первом посте приведен пример сообщения. Если я правильно понял, то сообщение определяется якорем name=«xxx», соответственно нужно смотреть в сторону getElementByName. сегодня вечером попробую реализовать.

silw ★★★★★
() автор топика
Ответ на: комментарий от sdio

не вычищать же оттуда все деанонимизирующие моменты. Да и ничего страшного в этом я не вижу.

silw ★★★★★
() автор топика

>где livello, соответственно, - ник абстрактного пользователя.

Тем не менее, «абстрактный пользователь livello» эволюционировал из форумного трололо во вполне себе лося. С него пример брать надо, а не игнорить.

linuxfan
()
Ответ на: комментарий от linuxfan

немного оффтоп, но он не укладывается в мое мирооущещение рору, с его безумно красивыми бродильниками, доброжелательными горнами, умопомрачительными ночными. А это самый что-ни наесть unix-way, если тебе что-то мешает, устрани это, подняв при этом скилл.

silw ★★★★★
() автор топика

если с помощью jquery - то можно попробовать так

нижеприведенные javascript:url надо надо выполнить на странице форума - сначала первую, потом вторую.

Во второй ссылке /DevilT|Искр@/g - регулярное выражения для фильтруемых пользователей. Нужно составить свой список пользователей, разделенный вертикальной чертой.

javascript:(function(){document.body.appendChild(document.createElement(%27script%27)).src=%27http://code.jquery.com/jquery-1.4.2.min.js%27;})();void%200
javascript:$(%22span.name>b%22).filter(function(){return%20/DevilT|Искр@/g.test($(this).html());}).parent().parent().parent().parent().parent().hide();void%200

Проверял на этой странице

Если все заработает - то можно будет оформить в виде скрипта для Greasmonkey

Надо также будет выложить на какой-нибудь сайт jquery-1.4.2.min.js и поправить ссылку на него (из локальной директории js файл не откроется).

sign
()
Ответ на: комментарий от sign

>Надо также будет выложить на какой-нибудь сайт jquery-1.4.2.min.js и поправить ссылку на него (из локальной директории js файл не откроется).

А почему бы не указать ссылку на официальную версию?

SV0L0CH
()
Ответ на: комментарий от SV0L0CH

>Надо также будет выложить на какой-нибудь сайт jquery-1.4.2.min.js и поправить ссылку на него (из локальной директории js файл не откроется).

А почему бы не указать ссылку на официальную версию?

Потому что, если весь интернет даст ссылку на один сайт - то ему придется плохо.

sign
()
Ответ на: комментарий от legolegs

Добрался таки до этого, вот что получилось. Оказалось очень просто :) Осталось добавить возможность интерактивного редактирования списка пользователей, скрытие отдельных постов и скрытие из всевозможных списков тем на рору, ибо там такой зоопарк страниц...

silw ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.