Update userscript.js
This commit is contained in:
@@ -1,18 +1,77 @@
|
||||
// ==UserScript==
|
||||
// @name Joy: correcting nofollow domain
|
||||
// @namespace http://tampermonkey.net/
|
||||
// @version 1.0
|
||||
// @description correcting nofollow domain
|
||||
// @author You
|
||||
// @name JRH: JoyReactor Helper
|
||||
// @version 2.0
|
||||
// @author DmitriyMX
|
||||
// @match http://joy.reactor.cc/*
|
||||
// @grant none
|
||||
// @run-at document-end
|
||||
// ==/UserScript==
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Исправляет ссылки-редиректы
|
||||
*/
|
||||
function fixNofollowLinks() {
|
||||
document.querySelectorAll('a[rel="nofollow"][href^="//reactor.cc"]').forEach((elm) => {
|
||||
elm.href = elm.href.replace('//reactor.cc', '//joy.reactor.cc');
|
||||
});
|
||||
}
|
||||
|
||||
function createTreeButton(listId) {
|
||||
var aTag = document.createElement('a');
|
||||
aTag.href = "#";
|
||||
aTag.classList.toggle('collapse-comments');
|
||||
aTag.text = '[-]';
|
||||
aTag.dataset.listid = listId;
|
||||
|
||||
aTag.style.fontWeight = 'bold';
|
||||
aTag.style.color = '#656464';
|
||||
aTag.style.lineHeight = '31px';
|
||||
aTag.style.textDecoration = 'none';
|
||||
aTag.style.margin = '0 10px';
|
||||
aTag.style.padding = '0 10px';
|
||||
aTag.style.borderRadius = '15px';
|
||||
aTag.style.background = '#dfdfdf';
|
||||
|
||||
aTag.onclick = function() {
|
||||
var listId = this.dataset.listid;
|
||||
var commentListElement = document.getElementById(listId);
|
||||
|
||||
if (commentListElement.style.display === 'none') {
|
||||
commentListElement.style.display = '';
|
||||
this.text = '[-]';
|
||||
} else {
|
||||
commentListElement.style.display = 'none';
|
||||
this.text = '[+]';
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
return aTag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляем кнопку сворачивания комментариев
|
||||
*/
|
||||
function collapseTreeComments() {
|
||||
Array.from(document.querySelectorAll('div.comment'))
|
||||
.filter(elm => { return elm.nextElementSibling.children.length > 0; })
|
||||
.forEach(elm => {
|
||||
var listId = elm.nextElementSibling.id;
|
||||
elm.querySelector('span.reply-link').appendChild(createTreeButton(listId));
|
||||
});
|
||||
// document.querySelectorAll('span.reply-link').forEach(elm => { elm.appendChild(createTreeButton()); })
|
||||
}
|
||||
|
||||
function isPostPage() {
|
||||
return document.URL.match(/http?:\/\/joy\.reactor\.cc\/post/) !== null
|
||||
}
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
fixNofollowLinks();
|
||||
if (isPostPage()) {
|
||||
collapseTreeComments();
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user