Участник:T kns/hideoldcomments.user.js
Материал из Энциклопедия leprosorium.ru
Версия от 08:03, 26 августа 2015; T kns (обсуждение | вклад)
Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Выберите очистку кэша в меню Инструменты → Настройки
// ==UserScript== // @name Hide old comments // @namespace leprosorium+hideoldcomments // @description Hides old comments in threads // @include https://*.leprosorium.ru/comments/*/* // @version 0.3 // @grant none // ==/UserScript== (function () { 'use strict'; var debug = function () { var args = Array.prototype.slice.call(arguments); unsafeWindow.console.log('[++Old comments]\n', args.join('\n'), '\n[--Old comments]') } if (!/^([a-z0-9]+\.)?leprosorium\.ru$/.test(location.host) || (location.search.indexOf('unread=on') === - 1 && location.hash != '#new')) { debug('wrong page') return; } else { debug('initialized') } window.addEventListener('DOMContentLoaded', function () { var newcomms = document.querySelectorAll('div.comment.new'); if (!newcomms.length) { debug('no new comments') return; } var parentlinks = document.querySelectorAll('a.c_parent'); if (!parentlinks.length) { debug('no parent links') return; } var oldcomms = document.querySelectorAll('div.comment:not(.new)'), hiddencomms = { }, parentlinks = document.querySelectorAll('a.c_parent'), hidecomm = function (el) { debug('hide', el.id); el.style.display = 'none'; hiddencomms[el.id] = el; }, listenup = function (uplink) { var gotoid = /#(\d+)$/.exec(uplink.href); //debug('wut', uplink.href); if (gotoid && gotoid.length) { var parentid = gotoid[1]; //debug('↑', parentid); uplink.addEventListener('click', function (ev) { //debug('click', parentid); if (parentid in hiddencomms && hiddencomms[parentid].style.display === 'none') { debug('show', parentid); hiddencomms[parentid].style.display = '' } }, false); } }; //debug('test') for (var i = 0; i < oldcomms.length; i++) { hidecomm(oldcomms[i]); } for (var j = 0; j < parentlinks.length; j++) { listenup(parentlinks[j]); } }, false); }) ()