主流网站文章阅读优化

对百度百科/csdn/知乎/简书阅读体验进行优化

目前为 2020-12-10 提交的版本。查看 最新版本

// ==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
// ==/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());
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址