Greasy Fork

Greasy Fork is available in English.

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

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

当前为 2019-07-21 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         起点中文网、B站、YouTube去除推荐;百度去除搜索热点列表;YouTube、网易云、B站去除评论;知乎去除首页推荐
// @namespace    http://greasyfork.icu/
// @version      0.2.9
// @description  这个脚本的功能有:起点中文网、B站、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.zhihu.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 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");
            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", "related");
            let falg = true;
            mybutton.addEventListener('click',function(){
                if(falg){
                    changeManyElementsByClass(qidian);
                    changeManyElementsByClass(baidu);
                    changeManyElementsByClass(bili);
                    changeManyElementsById(youtube);
                    changeElementByClass("g-sd4");
                    changeElementById("rs");
                    deleteElement("Topstory-mainColumn");

                    mybutton.innerHTML = '<button type = button>已隐藏(再次点击显示)</button>';
                    addStyle('button{background-color: yellow;}');
                    falg=false;
                }else{
                    changeManyElementsByClass(qidian);
                    changeManyElementsByClass(baidu);
                    changeManyElementsByClass(bili);
                    changeManyElementsById(youtube);
                    changeElementByClass("g-sd4");
                    changeElementById("rs");

                    mybutton.innerHTML = '<button type = button>已显示(再次点击隐藏)</button>';
                    addStyle('button{background-color: #ff0000;}');
                    falg=true;
                }
            })
        }
    }
    class Music {
        constructor() {}
        hideComments() {
            deleteElement("cmmts j-flag");
        }
    }

    class Bili{
        constructor(){}
        hideComments(){
            changeElementByClass("comment");
        }
    }

    class Zhihu{
        constructor(){}
        deletePushes(){
            let zhihu = new Array("Topstory-mainColumn", "TopstoryTabs TopstoryPageHeader-tabs", "Tabs AppHeader-Tabs", "zu-top-nav");
            deleteManyElements(zhihu);
        }
    }

    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();

    let zhihu = new Zhihu();
    zhihu.deletePushes(); //如果不想要删除知乎的推荐等,可注释该句,方法为在句首输入"//"

    function deleteElementById(x){
        var adSidebar = document.getElementById(x);
        if (adSidebar) {
            adSidebar.parentNode.removeChild(adSidebar);
        }

    }


    //因为本插件默认删除B站、网易云评论,知乎的首页推荐,所以在这三个网站隐藏按钮
    var url = window.location.href;
    if(url.indexOf("bili") >= 0 || url.indexOf("music") || url.indexOf("zhihu") >= 0){
        deleteElementById("mybutton");
    }



})();