Greasy Fork

Greasy Fork is available in English.

起点中文网、B站、YouTube去除推荐; 百度去除搜索热点列表; YouTube、网易云、B站去除评论

这个脚本的功能有:起点中文网、B站、YouTube去除推荐; 百度去除搜索热点列表; Youtube、网易云、B站去除评论

当前为 2019-04-11 提交的版本,查看 最新版本

// ==UserScript==
// @name         起点中文网、B站、YouTube去除推荐; 百度去除搜索热点列表; YouTube、网易云、B站去除评论
// @namespace    http://greasyfork.icu/
// @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
// ==/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 = '<button type = button id = "mybutton">是否显示推荐的列表?</button>';
            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 = '<button type = button>已隐藏(再次点击显示)</button>';
                    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 = '<button type = button>已显示(再次点击隐藏)</button>';
                    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();

})();