Участник: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);
}) ()