您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
скрипт ведения игнор-листа на ИноСМИ
// ==UserScript== // @id InoSMI_HideComments // @name HideComment // @version 1.03 // @namespace MIT // @author // @description скрипт ведения игнор-листа на ИноСМИ // @include http://inosmi.ru/* // @require http://code.jquery.com/jquery.min.js // @require https://greasyfork.org/scripts/8269-jq-dom-observer-function/code/JQ_DOM_observer_function.js?version=38428 // @grant FUNCTION // ==/UserScript== //прототип очистки массива Array.prototype.clean = function() { // сортировка массива this.sort(); // очистка массива от пустых переменных for (var i = this.length - 1; i > 0; i--) { if (this[i] == "") this.splice( i, 1); } // очистка массива от повторяющихся элементов for (var i = this.length - 1; i > 0; i--) { if (this[i] == this[i-1]) this.splice( i, 1); } return this; }; var to_hide = new Array(); var anticlone = "false"; $(document).ready(function() { //инициируем и считываем массив игноров if (localStorage.getItem('to_hide')) { to_hide = localStorage.getItem('to_hide').split(","); } else { to_hide.push('u_193012875'); to_hide.push('u_207772399'); } to_hide.clean(); //считываем значение переменной anticlone if (localStorage.getItem('anticlone')) { anticlone = localStorage.getItem('anticlone'); } //добавляем ссылку управления антиклоном $("div.addComment").before('<div><center><a id="anticlone"></a></center></div><br>'); if (anticlone=="true") { $("a[id='anticlone']").html('<b>Скрыть невидимые знаки в никах</b>'); } else { $("a[id='anticlone']").html('<b>Показать невидимые знаки в никах</b>'); } //отслеживаем событие управление антиклоном $("a[id='anticlone']").click(function() { if (anticlone=="true") { anticlone = "false"; $(this).html('<b>Показать невидимые знаки в никах</b>'); } else { anticlone = "true"; $(this).html('<b>Скрыть невидимые знаки в никах</b>'); } localStorage.setItem('anticlone', anticlone); DoHideComment(); }); //скрываем комментарии после загрузки страницы DoHideComment(); //отслеживаем событие добавления нового контента (разворачивание веток) $("li[id*='comment']").observe("childlist", "ul li:first", function() { DoHideComment(); }); }); //функция скрытия комментариев function DoHideComment() { if (to_hide.length != 0) { $.each(to_hide, function() { var obj = $("span[id*="+this+"]").parent(); obj.html('Комментарий "'+$("span[id*="+this+"]").html()+'" скрыт скриптом'); obj.append('<br><a class="unhide" id="'+this+'">Снять игнор</a>'); obj.next().hide(); obj.next().next().hide(); }); } //показываем или скрываем плюсы в никах $("span.orang").each(function() { var nick = $(this).html(); if (anticlone=="true") { nick = nick.replace(/\s/g,'+'); } else { nick = nick.replace(/\+/g,' '); } $(this).html(nick); }); //отслеживаем клик по нику для добавления в игнор $("span[id*='u_']").unbind("click").click(function() { var obj = $(this).attr("id").substr(0,11); if (confirm('Добавить пользователя ID='+obj+' в игнор-лист?')) { to_hide.push(obj); localStorage.setItem('to_hide', to_hide); DoHideComment(); } }); //остлеживаем событие снятия игнора $(".unhide").unbind("click").one("click", function() { var obj = $(this).attr("id"); if (confirm('Вы действительно хотите снять игнор c пользователя?')) { to_hide.splice($.inArray(obj, to_hide), 1); localStorage.setItem('to_hide', to_hide); location.reload(); } }); }