Участник:T kns/hideoldcomments.user.js — различия между версиями
Материал из Энциклопедия leprosorium.ru
T kns (обсуждение | вклад) м |
T kns (обсуждение | вклад) м (это вообще с помощью цсс сделать можно) |
||
Строка 5: | Строка 5: | ||
// @include https://*.leprosorium.ru/comments/*/* | // @include https://*.leprosorium.ru/comments/*/* | ||
// @include https://leprosorium.ru/comments/*/* | // @include https://leprosorium.ru/comments/*/* | ||
− | // @version 0. | + | // @version 0.6 |
// @grant none | // @grant none | ||
// ==/UserScript== | // ==/UserScript== | ||
Строка 29: | Строка 29: | ||
} | } | ||
window.addEventListener('DOMContentLoaded', function () { | window.addEventListener('DOMContentLoaded', function () { | ||
− | var newcomms = document.querySelectorAll('div.comment.new'); | + | try { |
− | + | var newcomms = document.querySelectorAll('div.comment.new'); | |
− | + | if (!newcomms.length) { | |
− | + | debug('no new comments') | |
− | + | return; | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
} | } | ||
− | + | var oldcomms = document.querySelectorAll('div.comment:not(.new)'); | |
− | + | if (!oldcomms.length) { | |
− | + | debug('no old comments') | |
− | + | return; | |
− | + | } | |
− | + | var addstyle = function () { | |
− | + | var style = document.createElement('style'); | |
+ | style.type = 'text/css'; | ||
+ | style.innerHTML = '.oldcomment:not(.show) {display: none;}'; | ||
+ | document.head.insertBefore(style, document.head.childNodes[0]); | ||
+ | }, | ||
+ | hidecomm = function (el) { | ||
+ | debug('hide', el.id); | ||
+ | el.classList.add('oldcomment') | ||
+ | // hiddencomms[el.id] = el; | ||
+ | }; | ||
+ | addstyle(); | ||
+ | for (var i = 0; i < oldcomms.length; i++) { | ||
+ | hidecomm(oldcomms[i]); | ||
+ | } | ||
+ | } catch (er) { | ||
+ | unsafeWindow.console.error('~~ERROR: ' + er + ' (line ' + (er.lineNumber || '') + ')') | ||
} | } | ||
}, false); | }, false); | ||
}) () | }) () |
Версия 07:31, 28 августа 2015
// ==UserScript== // @name Hide old comments // @namespace leprosorium+hideoldcomments // @description Hides old comments in threads // @include https://*.leprosorium.ru/comments/*/* // @include https://leprosorium.ru/comments/*/* // @version 0.6 // @grant none // ==/UserScript== (function () { 'use strict'; var debug = function () { var args = Array.prototype.slice.call(arguments); //unsafeWindow.console.log('[++Old comments]', args.join('\n'), '\n[--Old comments]') //unsafeWindow.console.log('[++Old comments]', arguments, '\n[--Old comments]') unsafeWindow.console.log('[++Old comments]'); for (var i = 0; i < args.length; i++) { unsafeWindow.console.log(args[i]); } unsafeWindow.console.log('[--Old comments]'); } //debug(commentsHandler.showParent) 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 () { try { var newcomms = document.querySelectorAll('div.comment.new'); if (!newcomms.length) { debug('no new comments') return; } var oldcomms = document.querySelectorAll('div.comment:not(.new)'); if (!oldcomms.length) { debug('no old comments') return; } var addstyle = function () { var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = '.oldcomment:not(.show) {display: none;}'; document.head.insertBefore(style, document.head.childNodes[0]); }, hidecomm = function (el) { debug('hide', el.id); el.classList.add('oldcomment') // hiddencomms[el.id] = el; }; addstyle(); for (var i = 0; i < oldcomms.length; i++) { hidecomm(oldcomms[i]); } } catch (er) { unsafeWindow.console.error('~~ERROR: ' + er + ' (line ' + (er.lineNumber || '') + ')') } }, false); }) ()