// ==UserScript== // @name 主流网站文章阅读优化 // @namespace http://tampermonkey.net/ // @version 0.3 // @description 对百度百科/csdn/知乎/简书阅读体验进行优化 // @author 白水 // @match https://baike.baidu.com/item/* // @match https://www.zhihu.com // @match https://www.zhihu.com/* // @match https://zhuanlan.zhihu.com/p/* // @match https://blog.csdn.net // @match https://blog.csdn.net/* // @match https://*.blog.csdn.net/* // @match https://www.jianshu.com/p/* // @grant none // @require https://code.jquery.com/jquery-3.5.1.js // @downloadURL none // ==/UserScript== //--------------常用封装-------------------- //写入JQuery 3.5.1 //(function(url) { document.body.appendChild(document.createElement('script')).src = url; })("https://code.jquery.com/jquery-3.5.1.js"); //var $;//不能写入 //--------------定义-------------- var host = window.location.host, //host href = window.location.href; //href /** get 指定JS querySelector的对象,返回一个对象 * @param {*} querySelector JS 选择器 */ function getByQuerySelector(querySelector) { if (!document.querySelector(querySelector)) return false; return document.querySelector(querySelector); } /** get 指定id属性值的对象,返回一个对象 * @param {*} Id */ function getById(Id) { if (!document.getElementsById(Id)) return false; return document.getElementsById(Id); } /**get 指定TagName的对象 ,返回一个数组 * @param {*} TagName 指定tag的对象 */ function getByTagNameArr(TagName) { if (!document.getElementsByTagName(TagName)) return false; return document.getElementsByTagName(TagName); } /** get 指定Name属性的对象,返回一个数组 * @param {*} Name 指定Name的对象 */ function getByNameArr(Name) { if (!document.getElementsByName(Name)) return false; return document.getElementsByName(Name); } /** get 指定ClassName的对象,返回一个数组 * @param {*} ClassName 类名称 */ function getByClassNameArr(ClassName) { if (!document.getElementsByClassName(ClassName)) return false; return document.getElementsByClassName(ClassName); } /** get 筛选指定ClassName,利用getByClassNameArr数组返回一个数组 * @param {*} ClassName 类名称 */ function getClassUniqueArr(ClassName) { var oElements = getByClassNameArr(ClassName), boxArr = new Array(); for (var i = 0, len = oElements.length; i < len; i++) { if (oElements[i].className == ClassName) { boxArr.push(oElements[i]); } } return boxArr; } Element.prototype.remove = function() { // 像那些属性节点,注释节点,文本节点等等根本不可能做父节点,所以可以说parentNode返回的一般都是父元素节点 var Parent = this.parentNode; Parent.removeChild(this); //父元素节点里删除调用者 }; //--------------Function-------------- //--------------常用封装-------------------- (function() { 'use strict'; //文章优化 function paper() { //CSDN function csdn() { //this指向paper getByClassNameArr("csdn-side-toolbar")[0].remove(); //右边下载二维码 getByQuerySelector("#mainBox > aside").remove(); //左边博主信息 getByQuerySelector("#recommend-list-box").remove(); //右边推广 getByQuerySelector("#mainBox > main > div.first-recommend-box.recommend-box").remove(); //底下第一下载推广 getByQuerySelector("#mainBox > main > div.second-recommend-box.recommend-box").remove(); //底下第二下载推广 getByQuerySelector("#mainBox > main > div.blog-footer-bottom").remove(); //脚注!!!经常删不掉 getByQuerySelector("#passportbox").remove(); //移除登录 } //知乎 function zhihu() { getByQuerySelector("#root > div > div.AdblockBanner").remove(); //首页广告拦截 getByQuerySelector("body > div.__web-inspector-hide-shortcut__").remove(); //移除登录 getByQuerySelector("#root > div > main > div > div > div.GlobalSideBar.GlobalSideBar--old > div > div").remove(); //右边创作 getByQuerySelector("#root > div > main > div > div.Question-main > div > div > div.Card.QuestionInvitation").remove(); //问问题 getByQuerySelector("#root > div > main > div > div > div.GlobalSideBar.GlobalSideBar--old > div > div.Sticky.is-fixed > footer").remove(); //脚注 getByQuerySelector("#root > div > main > div > div.Question-main > div.Question-sideColumn.Question-sideColumn--sticky").remove(); //右边博主信息 } //知乎专栏 function zhihuzhuanlan() { getByQuerySelector("#root > div > main > div > div.ColumnPageHeader-Wrapper").remove(); //广告拦截 } //简书 function jianshu() { getByQuerySelector("#__next > div._3Pnjry").remove(); //左边分享 getByQuerySelector("#__next > div._21bLU4._3kbg6I > div > aside").remove(); //右边推广 getByQuerySelector("body > div:nth-child(13)").remove(); //下载推广 getByQuerySelector("#__next > footer").remove(); //下方评论 } //百度百科 function baidubaike() { getByQuerySelector("body > div.body-wrapper.feature.feature_small.custom > div.content-wrapper > div > div.main-content > div.main_tab.main_tab-defaultTab.curTab > iframe")?getByQuerySelector("body > div.body-wrapper.feature.feature_small.custom > div.content-wrapper > div > div.main-content > div.main_tab.main_tab-defaultTab.curTab > iframe").remove():0; //推广视频,学慧网等等.容易因为这个出bug,删除不掉导致各种问题, getByQuerySelector("body > div.lemmaWgt-searchHeader > div > div.tool-buttons").remove(); //滚动之后,顶部右上角工具栏 getByQuerySelector("body > div.header-wrapper.pc-header-new > div.topbar.cmn-clearfix").remove(); //顶部百度更多导航内容 getByQuerySelector("#searchForm > a").remove(); //顶部帮助 getByQuerySelector("#pageTabs").remove(); //中间最上面推广标签 getByQuerySelector("#side-share").remove(); //中间右边分享 getByQuerySelector("body > div.body-wrapper > div.content-wrapper > div.content").style.width = "850px"; //中间内容 getByQuerySelector("body > div.body-wrapper > div.content-wrapper > div > div.side-content").remove(); //中间侧边内容 getByQuerySelector("#tashuo_bottom").remove(); //脚部他说 getByQuerySelector("body > div.wgt-footer-main").remove(); //脚部备案 getByQuerySelector("body > div.navbar-wrapper").remove(); //百科导航 getByClassNameArr("secondsknow-large-container J-secondsknow-large-container")[0].remove(); //秒懂视频?????位置不定 //getByQuerySelector("body > div.body-wrapper.feature.feature_small.custom > div.secondsknow-large-container.J-secondsknow-large-container").remove(); //秒懂视频 //getByQuerySelector("body > div.body-wrapper > div.before-content > div").remove(); //秒懂视频????? //getByQuerySelector("body > div.body-wrapper > div.before-content").remove(); //秒懂视频????? /* getByQuerySelector("body > div.header-wrapper.pc-header-new > div.header > div > a").remove(); //右上角推广 getByQuerySelector("body > div.header-wrapper.pc-header-new > div.topbar.cmn-clearfix > div.wiki-common-headTabBar").remove(); //头标签 getByQuerySelector("body > div.body-wrapper.feature.feature_small.custom > div.polysemant-list > div > div > a.polysemant-button.polysemant-button--add.J-polysemant-button--add").remove(); //添加义项 getByQuerySelector("#J-declare-wrap").remove(); //人人可编辑 getByQuerySelector("body > div.body-wrapper.feature.feature_small.custom > div.content-wrapper > div > div.side-content").remove(); //他说右边,bug? */ var edit = document.getElementsByClassName('edit-icon j-edit-link'); //编辑按钮 for (var i = edit.length - 1; i >= 0; i--) { edit[i].remove(); } //getByQuerySelector("body > div.body-wrapper > div.content-wrapper > div > div.side-content > div.side-catalog").empty()//导航目录提取 } switch (host) { case "blog.csdn.net": csdn(); break; case "www.zhihu.com": zhihu(); break; case "zhuanlan.zhihu.com": zhihuzhuanlan(); break; case "www.jianshu.com": jianshu(); break; case "baike.baidu.com": baidubaike(); break; default: console.log("不是文章的 host"); } } //延时 //window.onload = function() { setTimeout(paper(), 0); }; //jQuery预载 $(document).ready(paper()); })();