// ==UserScript==
// @name 起点中文网、B站、YouTube去除推荐; 百度去除搜索热点列表; YouTube、网易云、B站去除评论
// @namespace https://greasyfork.org/
// @version 0.2.7
// @description 这个脚本的功能有:起点中文网、B站、YouTube去除推荐; 百度去除搜索热点列表; Youtube、网易云、B站去除评论
// @author sanjie27
// @match https://book.qidian.com/*/*
// @match https://www.qidian.com/
// @match https://www.baidu.com/*
// @match https://music.163.com/*
// @match https://www.bilibili.com/*
// @match https://www.youtube.com/*
// @run-at document_start
// @grant unsafeWindow
// @grant GM_setClipboard
// @grant GM_addStyle
// @grant GM_getResourceText
// @license MIT
// @downloadURL none
// ==/UserScript==
(function () {
'use strict';
addStyle('a:hover{color: #00ff !important;' +
'transition: all 0.25s ease-out;}')
function deleteElement(x){
let element = document.getElementsByClassName(x);
for (let i = element.length-1; i >= 0 ; i--) {
element[i].parentNode.removeChild(element[i]);
}
}
function deleteManyElements(array){
for (let j = 0; j < array.length; j++){
deleteElement(array[j]);
}
}
function changeElementByClass(id){
let t = document.getElementsByClassName(id);
for (let j = t.length-1; j >= 0 ; j--) {
if(t[j].style.visibility == 'hidden'){
t[j].style.visibility = 'visible';
}
else t[j].style.visibility = 'hidden';
}
}
function changeManyElementsByClass(id){
for (let i = 0; i < id.length; i++){
changeElementByClass(id[i]);
}
}
function changeElementById(id){
let element = document.getElementById(id);
if(element){
if(element.style.visibility == 'hidden'){
element.style.visibility = 'visible';
}
else element.style.visibility = 'hidden';
}
}
function changeTag(id){
for (var i = 0; i < id.length; i++){
var t = document.getElementsByTagName(id[i]);
for (var j = t.length-1; j >= 0 ; j--) {
if(t[j].style.visibility == 'hidden'){
t[j].style.visibility = 'visible';
}
else{
t[j].style.visibility = 'hidden';
}
}
}
}
function changeManyElementsById(id){
for (let i = 0; i < id.length; i++){
changeElementById(id[i]);
}
}
class Button {
constructor() {
}
insertButton() {
let mybutton = document.createElement("button");
mybutton.innerHTML = '';
mybutton.style.cssText="position:fixed;z-index:9999999;";
document.body.insertBefore(mybutton, document.body.firstChild);
let qidian = new Array("nav-list site-nav fl", "like-more-list", "book-list-wrap mb10", "div");
let baidu = new Array("s-news-wrapper clearfix", "opr-recommends-merge-content", "cr-content");
let bili = new Array("recommend-list report-wrap-module report-scroll-module", "pop-live report-wrap-module report-scroll-module");
let music = new Array("g-wrap7");
let youtube = new Array("contents");
let falg = true;
mybutton.addEventListener('click',function(){
if(falg){
changeManyElementsByClass(qidian);
changeManyElementsByClass(baidu);
changeManyElementsByClass(bili);
changeManyElementsById(youtube);
changeTag("ytd-compact-video-renderer");
changeElementByClass("g-sd4");
changeElementById("rs");
mybutton.innerHTML = '';
addStyle('button{background-color: yellow;}');
falg=false;
}else{
changeManyElementsByClass(qidian);
changeManyElementsByClass(baidu);
changeManyElementsByClass(bili);
changeManyElementsById(youtube);
changeTag("ytd-compact-video-renderer");
changeElementByClass("g-sd4");
changeElementById("rs");
mybutton.innerHTML = '';
addStyle('button{background-color: #ff0000;}');
falg=true;
}
})
}
}
class Music {
construtor() {}
hideComments() {
deleteElement("cmmts j-flag");
}
}
class Bili{
constructor(){}
hideComments(){
changeElementByClass("comment");
}
}
function addStyle(rules) {
let styleElement = document.createElement('style');
styleElement.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(styleElement);
styleElement.appendChild(document.createTextNode(rules));
}
let mymusic = new Music();
mymusic.hideComments();
let button = new Button();
button.insertButton();
let bili = new Bili();
bili.hideComments();
})();