// ==UserScript== // @name 起点中文网、B站、YouTube去除推荐;百度去除搜索热点列表;YouTube、网易云、B站去除评论;知乎去除首页推荐 // @namespace https://greasyfork.org/ // @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 // @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 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"); 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 = ''; addStyle('button{background-color: yellow;}'); falg=false; }else{ changeManyElementsByClass(qidian); changeManyElementsByClass(baidu); changeManyElementsByClass(bili); changeManyElementsById(youtube); changeElementByClass("g-sd4"); changeElementById("rs"); mybutton.innerHTML = ''; 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("music") >=0 || url.indexOf("zhihu") >= 0){ deleteElementById("mybutton"); } })();