NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Скрипт для удобства чтения комментариев на сайте oper.ru. // @namespace http://tampermonkey.net/ // @version 0.2.0.6 // @description Фильтрует комментарии по имени комментатора. Под новостью добавляет список участников. При клике по нику, срабатывает фильтр. // @author rty65tt // @match *://oper.ru/*read.php* // @include *://*oper.ru/*/view.php* // @grant none // ==/UserScript== // Может где-то не сработать. Самый посещаемый сайт рунета, верстка ад! Это по нашему. // Для сохранения глаз, рекомендую темно-серую тему https://userstyles.org/styles/138045/oper-ru-bw-dark-grey-990px (function() { 'use strict'; // Your code here... var l = document.location.href; var p = $('#middle>table:first>tbody>tr>td:first>font>b').find('a'); var ip = $('a[name="comments"]'); $(ip).before('<div class="usfscrpt" style="text-align:center; color:#555;background-color:#171717;padding:5px;border:1px solid #212121;"></div><br>'); $('.usfscrpt').text('script : [LOAD]'); var avtory = ['Sha-Yulin', 'Zhukoff', 'egoryakovlev', 'Баир Иринчеев', 'Игорь Леонардович Викентьев', 'Goblin', 'Ravid', 'Рогов']; var page = ''; var arr = []; for(var i = 1; i < p.last().text(); i++) { page = page + '<a name="page-' + i + '"></a>'; arr[i-1] = i; } $('table.comment:last').after(page); var deferreds = []; $.each(arr, function( a,i ) { deferreds.push( $.get( l, { page: i}, function( data ) { var d = $(data).find("table.comment, table.comment + *").prev(); var lp = "page-" + i; $('a[name=' + lp +']').after(d); $("a[href='" + l + "&page=" + i +"#comments']").attr('href', "#" + lp).attr('class', 'usrscriptpage'); }) ); }); $.when.apply($, deferreds).done(function(){ $('.comment').find("a").attr('href', function( i,vl ) { return vl.replace(/(.*)\&page=\d+(#\d+)$/, '$1$2'); }).attr('class', 'showcom'); var usrs = {}; $('.comment>tbody>tr>td>a>font>b').each(function() { var n = $(this).text(); var color = $(this).parent().attr('color'); $(this).closest('.comment').attr('name', n); if (usrs[n]) { usrs[n].c = usrs[n].c + 1; } else { usrs[n] = {}; usrs[n].c = 1; usrs[n].s = color; } }); var asd = ''; var mtu = ''; for(var u in usrs) { var d = '<a href="#1" name="' + u + '" class="ufilter" style="color:' + usrs[u].s + ' !important;">' + u + '[' + usrs[u].c + ']' + '</a>, '; if (avtory.indexOf(u) !== -1) { mtu = mtu + d; } else { asd = asd + d;} } $('.usfscrpt').html(mtu + '<hr>' + asd + ' <hr><a href="#comments" class="ufilteroff" style="color:#f33 !important;">[Выкл.фильтр]</a><br>'); $('.ufilter').click(function() { $('.comment').hide(); $('.comment[name="'+ $(this).attr('name') +'"]').show(); }); $('.ufilteroff').click(function() { $('.comment').show(); }); $('.showcom').click(function() { var t = $(this).text().replace(/#(\d+)$/, '$1'); $('a[name="' + t + '"]').next().show(400); }); $('.usrscriptpage').click(function() { $('.comment').show(); }); }); })();