• CSDN自定义优化脚本


    // ==UserScript==
    // @name         CSDN广告过滤
    // @connect      www.csdn.net
    // @include      *://*.csdn.net/*
    // @require      https://cdn.bootcdn.net/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js
    // @require      https://cdn.bootcdn.net/ajax/libs/nprogress/0.2.0/nprogress.js
    // @require      https://cdn.bootcdn.net/ajax/libs/clipboard.js/2.0.8/clipboard.min.js
    // @supportURL   https://github.com/adlered/CSDNGreener/issues/new?assignees=adlered&labels=help+wanted&template=ISSUE_TEMPLATE.md&title=
    // @grant        GM_addStyle
    // @grant        GM_setValue
    // @grant        GM_getValue
    // ==/UserScript==
    var currentURL = window.location.href;
    if (currentURL.indexOf("?") !== -1) {
        currentURL = currentURL.substring(0, currentURL.indexOf("?"));
    }
    var list;
    var windowTop = 0;
    // 配置控制类
    class Config {
        get(key, value) {
            var cookie = $.cookie(key);
            if (cookie == undefined) {
                new Config().set(key, value);
                console.debug("Renew key: " + key + " : " + value);
                return value;
            }
            console.debug("Read key: " + key + " : " + cookie);
            if (cookie === "true") { return true; }
            if (cookie === "false") { return false; }
            return cookie;
        }
    
        getS(key, value) {
            var cookie = $.cookie(key);
            if (cookie == undefined) {
                new Config().set(key, value);
                console.debug("Renew key: " + key + " : " + value);
                return value;
            }
            console.debug("Read key: " + key + " : " + cookie);
            return cookie;
        }
    
        set(setKey, setValue) {
            $.cookie(setKey, setValue, {
                path: '/',
                expires: 365
            });
            console.debug("Key set: " + setKey + " : " + setValue);
        }
    
        listenButton(element, listenKey, trueAction, falseAction) {
            $(element).click(function () {
                let status = new Config().get(listenKey, true);
                console.debug("Status: " + status);
                if (status === "true" || status) {
                    console.debug("Key set: " + listenKey + " :: " + false);
                    new Config().set(listenKey, false);
                } else {
                    console.debug("Key set: " + listenKey + " :: " + true);
                    new Config().set(listenKey, true);
                }
            });
        }
    
        listenButtonAndAction(element, listenKey, trueAction, falseAction) {
            $(element).click(function () {
                let status = new Config().get(listenKey, true);
                console.debug("Status: " + status);
                if (status === "true" || status) {
                    console.debug("Key set: " + listenKey + " :: " + false);
                    new Config().set(listenKey, false);
                    falseAction();
                } else {
                    console.debug("Key set: " + listenKey + " :: " + true);
                    new Config().set(listenKey, true);
                    trueAction();
                }
            });
        }
    }
    var config = new Config();
    var progress = 0;
    class Progress {
        init() {
            progress = 0;
            NProgress.start();
            $("#greenerProgress").text("绿化中...");
            $(".toolbar-search").hide();
        }
    
        setProgress(p) {
            progress = p;
            $("#greenerProgress").text(progress + "%");
            NProgress.set(progress / 100);
            console.log(progress + "%");
        }
    
        incProgress(p) {
            progress = progress + p;
            progress = progress > 100 ? 100 : progress;
            $("#greenerProgress").text(progress + "%");
            NProgress.set(progress / 100);
            console.log(progress + "%");
        }
    
        done() {
            progress = 100;
            NProgress.done();
            $("#greenerProgress").html(' CSDNGreener 正在守护您的浏览体验');
            setTimeout(function() {
                $("#greenerProgress").fadeOut(500);
                setTimeout(function() {
                    $(".toolbar-search").fadeIn(500);
                }, 500);
            }, 1500);
        }
    }
    var progressor = new Progress();
    
    // 自定义 CSS
    // 进度条
    $('head').append("<style>#nprogress{pointer-events:none}#nprogress .bar{background:#f44444;position:fixed;z-index:1031;top:0;left:0;100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;100px;height:100%;box-shadow:0 0 10px #f44444,0 0 5px #f44444;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#f44444;border-left-color:#f44444;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}</style>");
    // 设置窗口
    $('head').append("<style>.black_overlay{top:0%;left:0%;100%;height:100%;background-color:#000;z-index:1001;-moz-opacity:0.8;opacity:.10;filter:alpha(opacity=88)}.black_overlay,.white_content{display:none;position:absolute}.white_content{z-index:9999!important;top:25%;left:25%;650px;height:60%;padding:20px;border:0px;background-color:rgba(255,255,255,0.9);z-index:1002;overflow:auto}</style>");
    // 提示条
    $('head').append("<style>.tripscon{padding:10px}</style>");
    // 按钮(旧)
    $('head').append("<style>#toggle-button{display:none}.button-label{position:relative;display:inline-block;82px;background-color:#ccc;border:1px solid #ccc;border-radius:30px;cursor:pointer}.circle{position:absolute;top:0;left:0;30px;height:30px;border-radius:50%;background-color:#fff}.button-label .text{line-height:30px;font-size:18px;-webkit-user-select:none;user-select:none}.on{color:#fff;display:none;text-indent:10px}.off{color:#fff;display:inline-block;text-indent:53px}.button-label .circle{left:0;transition:all .3s}#toggle-button:checked+label.button-label .circle{left:50px}#toggle-button:checked+label.button-label .on{display:inline-block}#toggle-button:checked+label.button-label .off{display:none}#toggle-button:checked+label.button-label{background-color:#78d690}</style>");
    // 保存按钮
    $('head').append("<style>.saveButton{background-color:#19a4ed;border:none;color:#fff;padding:5px 15px;text-align:center;text-decoration:none;display:inline-block;font-size:14px;cursor:pointer}</style>");
    // Star 样式
    $('head').append("<style>.giveMeOneStar:hover{color:#FF69B4;}</style>");
    // 设置窗口文字效果
    $('head').append("<style>.configContainer label{font-size:5px}.configContainer p{font-size:10px}.giveMeOneStar{font-size:15px}.configContainer .title{font-size:20px}.configContainer .bold{font-weight:bold;margin-bottom:5px}</style>");
    
    (function () {
        'use strict';
        progressor.init();
    
        // 绿化设定按钮点击事件
        let jss = "";
        jss += "<script>function showConfig() {";
        jss += "$(window).scrollTop(0);";
        jss += "$('.white_content').fadeIn(500);";
        jss += "$('body').css('overflow', 'hidden');";
        jss += "$('body').css('filter','blur(3px)');";
        jss += "$('body').css('pointer-events','none')";
        jss += "}</script>";
        $("body").append(jss);
    
        // 保存按钮点击事件
        let saveJss = "";
        saveJss += "<script>function saveAndReload() {";
        saveJss += "$('#configContent').fadeOut(200);";
        saveJss += "setTimeout(function() {location.reload();},200)";
        saveJss += "}</script>";
        $("body").append(saveJss);
    
        setTimeout(function() {
            var blockURL = currentURL.split("/").length;
            var main = /(www\.csdn\.net\/)$/;
            var mainNav = /nav/;
            var article = /article/;
            var bbs = /bbs\.csdn\.net/;
            var blog = /blog\.csdn\.net/;
            var blog2 = /\/article\/list\//;
            var download = /download\.csdn\.net/;
            var login = /passport\.csdn\.net/;
            var zone = /me\.csdn\.net/;
            var other = /(www\.csdn\.net\/)/;
            var mp = /mp\.csdn\.net/;
    
            // 数组初始化
            list = [];
            // 头部分
            // APP
            // put(".app-app");
            // VIP
            put(".vip-caise");
            // 记录你的成长历程(记个毛)
            put("#writeGuide");
            // 新通知小圆点(未登录才消掉)
            if ($(".userinfo a").text() === '登录/注册') {
                put("#msg-circle");
            }
            // 顶部谷歌广告
            put(".adsbygoogle");
            // 悬浮在顶栏按钮上出现的二维码
            put(".appControl");
            // 顶部广告
            put(".advert-bg");
    
            if (main.test(currentURL) || mainNav.test(currentURL)) {
                l("正在优化主页体验...");
                // 常规
                // 头部广告
                put(".banner-ad-box");
                // 嵌入广告
                put("#kp_box_211");
                // 右侧广告
                put(".slide-outer");
                // 右侧详情
                put(".persion_article");
                // 右侧推荐
                $(".feed_company").parent().remove();
                // 广告轮播
                put(".el-carousel__container");
                // 顶部横幅
                put(".toolbar-advert");
                // 顶栏VIP选项
                $('.toolbar-subMenu-box').find("[href='https://mall.csdn.net/vip']").parent().remove();
                // CSDN工具广告
                put("#floor-ad_64");
                clean(10);
                // common(5, 10);
                // 博客及主页优化
                common(9, 10);
                loop(3);
                loop(1);
            } else if ((blog.test(currentURL) && blockURL === 4) || blog2.test(currentURL)) {
                l("正在优化个人博客主页体验...");
                // 常规
                // 头部广告
                put(".banner-ad-box");
                // 右侧广告
                put(".slide-outer");
                // 右侧详情
                put(".persion_article");
                // 左侧广告
                put(".mb8");
                put("#kp_box_503");
                put("#kp_box_214");
                clean(10);
                // common(5, 10);
                loop(3);
                loop(1);
            } else if (article.test(currentURL) && !mp.test(currentURL)) {
                l("正在优化阅读体验...");
                // 绿化设定
                $(".toolbar-container-middle").prepend("<div id='greenerProgress' style='text-align:right'></div>");
                let htmlOf0 = '<div class="toolbar-btn csdn-toolbar-fl"><a id="greenerSettings" title="点击打开 CSDNGreener 绿化设定" href="javascript:void(0)" onclick="showConfig();"></a></div>';
                $(".toolbar-btns").prepend(htmlOf0);
                // 常规
                // 右侧广告,放到第一个清除
                // put(".recommend-right");
                put("#addAdBox");
                // put(".aside-box.kind_person.d-flex.flex-column");
                put(".recommend-top-adbox");
                // put(".recommend-list-box.d-flex.flex-column.aside-box");
                // 左侧广告
                // put("#container");
                // 快来写博客吧
                put(".blog_tip_box");
                // 推荐关注用户
                put(".blog-expert-recommend-box");
                // 右下角VIP
                put(".meau-gotop-box");
                // 广告
                put(".mediav_ad");
                put(".pulllog-box");
                put(".recommend-ad-box");
                put(".box-shadow");
                put(".type_hot_word");
                put(".fourth_column");
                // 高分辨率时右侧文章推荐
                // put(".right-item");
                // 广告
                put("#asideFooter");
                put("#ad-div");
                put("#479");
                put("#480");
                // 打赏
                put(".postTime");
                // 课程推荐
                put(".t0");
                // 分享海报
                put(".shareSuggest");
                // 底部主题
                put(".template-box");
                // 评论区广告
                put("div#dmp_ad_58");
                // 打赏
                put(".reward-user-box");
                // 右侧打赏按钮
                put(".to-reward");
                // 推荐内容广告
                put(".recommend-recommend-box");
                // 右侧广告
                put(".indexSuperise");
                // 抢沙发角标
                put(".comment-sofa-flag");
                // 页jio
                put(".bottom-pub-footer");
                // 登录查看未读消息
                put(".toolbar-notice-bubble");
                // 右侧广告
                put(".recommend-top-adbox");
                // 右侧四个广告
                put(".programmer1Box");
                put(".programmer2Box");
                put(".programmer3Box");
                put(".programmer4Box");
                // 点赞气泡
                put(".triplet-prompt");
                // 顶部横幅
                put(".toolbar-advert");
                // 底部信息
                put(".blog-footer-bottom");
                // 右侧栏广告
                put("#6527");
                put("#recommendAdBox");
                // 推荐内容Title
                put(".recommend-tit-mod");
                // 红包提醒
                put(".csdn-redpack-lottery-btn-box");
                // 学生认证
                put(".csdn-highschool-window");
                // 右侧悬浮栏除置顶以外的按钮
                put(".option-box[data-type='guide'],.option-box[data-type='cs'],.option-box[data-type='report'],.csdn-common-logo-advert");
                clean(10);
                setTimeout(function() {
                   // 展开评论的所有回复
                   $('.btn-read-reply').click();
                }, 1500);
                // 主动加入右侧栏
                if ($(".recommend-right").length === 0) {
                    $("#mainBox").after('<div class="recommend-right  align-items-stretch clearfix" id="rightAside"><aside class="recommend-right_aside"><div id="recommend-right" style="height: 100%; position: fixed; top: 52px; overflow: scroll;"></div></aside></div>');
                }
                // 上栏按钮删除
                $(".toolbar-menus > li > a:contains('专栏课程')").parent().remove();
                $(".toolbar-menus > li > a:contains('插件')").parent().remove();
                $(".toolbar-menus > li > a:contains('认证')").parent().remove();
                // 修复无法选择复制
                $("code").css("user-select","auto");
                $("#content_views").css("user-select","auto");
                $("pre").css("user-select","auto");7
                // 图片混文字时,无法完整复制,图片不会被复制下来 https://github.com/adlered/CSDNGreener/issues/87
                //let el = $("main .blog-content-box")[0];
                //let elClone = el.cloneNode(true);
                //el.parentNode.replaceChild(elClone, el);
                // 保存csdn的网页再次打开会自动跳转到首页 https://github.com/adlered/CSDNGreener/issues/97
                $("[onerror]").remove();
                // CSDN重定向外链不能在新的窗口跳转 https://github.com/adlered/CSDNGreener/issues/80
                $("#article_content a[href]").attr("target", "_blank");
                // 搜索框优化
                //$("#toolbar-search-input").css("width", "calc(100% - 400px)");
                // 取消代码折叠
                $(".look-more-preCode").click();
                // 绿化设置
                common(6, 1);
                // 屏幕适配
                common(4, 1);
                // 评论
                common(1, 30);
                // 其它
                common(2, 20);
                // 顶部显示作者信息
                common(8, 1);
                // 博客及主页优化
                common(9, 10);
                // 循环线程开始
                loop(2);
                loop(3);
            } else if (bbs.test(currentURL)) {
                l("正在优化论坛体验...");
                // 常规
                // 评论嵌入小广告
                put(".post_recommend");
                // 底部推荐
                put("#post_feed_wrap");
                // 底部相关文章里面的广告
                put(".bbs_feed_ad_box");
                put(".recommend-ad-box");
                // 底部相关文字里面的热词提示
                put(".type_hot_word");
                // 底部蓝色flex属性的广告栏+登录注册框
                put(".pulllog-box");
                // 猜你喜欢
                put(".personalized-recommend-box");
                // 发帖减半提示
                put(".totast-box");
                // 顶部广告
                put(".recommend-right");
                // 顶部广告
                put(".ad_top");
                // 右侧广告
                put(".ad_1");
                clean(10);
                // 展开
                common(3, 50);
                // common(5, 10);
                loop(3);
            } else if (download.test(currentURL)) {
                l("正在优化下载页体验...");
                // 常规
                put(".fixed_dl");
                put("indexSuperise");
                // 右侧推荐
                put(".content_recom");
                clean(10);
                // common(5, 10);
                loop(3);
            } else if (login.test(currentURL)) {
                l("正在优化登录页体验...");
                // 常规
                // 登录界面大图广告
                put(".main-tu");
                clean(10);
                // common(5, 10);
                loop(3);
            } else if (zone.test(currentURL)) {
                l("正在优化个人空间体验...");
                // 常规
                clean(10);
                common(7, 10);
                // common(5, 10);
                loop(3);
            } else {
                l("哦豁,好偏门的页面,我来试着优化一下哦...");
                // 常规
                // 展开全文
                $('.readmore_btn').click();
                // *** index ***
                // 头部广告
                put(".banner-ad-box");
                // 嵌入广告
                put("#kp_box_211");
                // 右侧广告
                put(".slide-outer");
                // 右侧详情
                put(".persion_article");
                // 右侧推荐
                $(".feed_company").parent().remove();
                // *** article ***
                // 常规
                // 右侧广告,放到第一个清除
                put("#addAdBox");
                put(".recommend-top-adbox");
                // 快来写博客吧
                put(".blog_tip_box");
                // 推荐关注用户
                put(".blog-expert-recommend-box");
                // 右下角VIP
                put(".meau-gotop-box");
                // 广告
                put(".mediav_ad");
                put(".pulllog-box");
                put(".recommend-ad-box");
                //put(".box-shadow"); 某些页面异常,例如cloud.csdn.net
                put(".type_hot_word");
                put(".fourth_column");
                // cloud.csdn.net 头部广告
                put("#kp_box_118");
                // 广告
                put("#asideFooter");
                put("#ad-div");
                put("#479");
                put("#480");
                // 打赏
                put(".postTime");
                // 课程推荐
                put(".t0");
                // 分享海报
                put(".shareSuggest");
                // 底部主题
                put(".template-box");
                // 评论区广告
                put("div#dmp_ad_58");
                // 打赏
                put(".reward-user-box");
                // 右侧打赏按钮
                put(".to-reward");
                // 推荐内容广告
                put(".recommend-recommend-box");
                // 右侧广告
                put(".indexSuperise");
                // 抢沙发角标
                put(".comment-sofa-flag");
                // 页jio
                put(".bottom-pub-footer");
                // 登录查看未读消息
                put(".toolbar-notice-bubble");
                // 右侧广告
                put(".recommend-top-adbox");
                // 学院弹出广告
                $(".fouce_close_btn").click();
                // 其它
                // 头部广告
                put(".banner-ad-box");
                // 右侧广告
                put(".slide-outer");
                // 右侧详情
                put(".persion_article");
                // 左侧广告
                put("#kp_box_503");
                put("#kp_box_214");
                // *** bbs ***
                // 评论嵌入小广告
                put(".post_recommend");
                // 底部推荐
                put("#post_feed_wrap");
                // 底部相关文章里面的广告
                put(".bbs_feed_ad_box");
                put(".recommend-ad-box");
                // 底部相关文字里面的热词提示
                put(".type_hot_word");
                // 底部蓝色flex属性的广告栏+登录注册框
                put(".pulllog-box");
                // 猜你喜欢
                put(".personalized-recommend-box");
                // 发帖减半提示
                put(".totast-box");
                // 顶部广告
                put(".recommend-right");
                // 顶部广告
                put(".ad_top");
                // *** download ***
                put(".fixed_dl");
                put("indexSuperise");
                // 右侧推荐
                put(".content_recom");
                clean(10);
            }
            setTimeout(function() {
                progressor.done();
            }, 0);
        }, 0);
    })();
    
    function l(log) {
        console.log(log);
    }
    
    function e(error) {
        console.error(error);
    }
    
    function clear() {
        list = [];
    }
    
    function put(tag) {
        list.push(tag);
    }
    
    function clean(times) {
        var loop = setInterval(function () {
            --times;
            if (times <= 0) {
                clearInterval(loop);
            }
            for (var k = 0; k < list.length; k++) {
                $(list[k]).remove();
            }
        }, 100);
        progressor.incProgress(10);
    }
    
    function loop(num) {
        setInterval(function () {
            if (num === 1) {
                // 主页中间的广告
                $(".J_adv").remove();
                // 主页有新的内容横条
                $(".feed-fix-box").remove();
                // 主页广告 iframe
                if (currentURL == "https://www.csdn.net/") {
                    $("iframe").remove();
                }
                // 删除 CSDN 官方在主页的文章(大多是广告)
                $("li.clearfix").each(function(index, ele) {
                    var banned = /csdn<\/a>/;
                    var aMark = $(ele).find(".name").html();
                    if (banned.test(aMark)) {
                        $(ele).remove();
                    }
                });
                // 主页广告
                $("li").each(function(){
                    let self = $(this);
                    let dataType = self.attr('data-type');
                    if (dataType === 'ad') {
                        self.remove();
                    }
                });
                // 主页广告
                $("li > div > div > h2 > a[href*='https://edu.csdn.net']").parent().parent().parent().parent().remove();
                $("li > div > div > h2 > a[href*='https://marketing.csdn.net']").parent().parent().parent().parent().remove();
                // 官方脚本横幅
                $(".toolbar-advert").remove();
            } else if (num === 2) {
                // 评论查看更多展开监听
                $("div.comment-list-box").css("max-height", "none");
                // 屏蔽您的缩放不是100%的提示
                $('.leftPop').remove();
                // 官方脚本横幅
                $(".toolbar-advert").remove();
            } else if (num == 3) {
                // 循环删除登录提示框
                $(".passport-login-container").remove();
                // 红包雨
                $("#csdn-redpack").remove();
            }
        }, 500);
    }
    
    function common(num, times) {
        var loop = setInterval(function () {
            --times;
            if (times <= 0) {
                clearInterval(loop);
            }
            if (num === 1) {
                // 查看更多
                $(".btn-readmore").removeClass("no-login");
                $(".btn-readmore").addClass("fans-read-more");
                $(".btn-readmore").removeAttr("href");
                $(".btn-readmore").removeAttr("target");
                $(".btn-readmore").removeAttr("rel");
                $(".btn-readmore").click();
                // 已登录用户展开评论
                try {
                    document.getElementById("btnMoreComment").click();
                } catch (e) {}
                // 删除查看更多按钮
                $("#btnMoreComment").parent("div.opt-box").remove();
                // 展开内容
                $("div.comment-list-box").css("max-height", "none");
                // 改回背景颜色
                $(".login-mark").remove();
                // 删除登录框
                $(".login-box").remove();
            } else if (num === 2) {
                // 挡住评论的“出头推荐”
                if ($(".recommend-box").length > 1) {
                    $(".recommend-box")[0].remove();
                }
                // 去外链
                $("#content_views").off();
                // 去除推广广告
                $("li[data-type='ad']").remove();
                // 免登录复制
                $(".hljs-button").removeClass("signin");
                $(".hljs-button").addClass("{2}");
                $(".hljs-button").attr("data-title", "免登录复制");
                $(".hljs-button").attr("onclick", "hljs.copyCode(event)");
                // 去除剪贴板劫持
                $("code").attr("onclick", "mdcp.copyCode(event)");
                try {
                    // 复制时保留原文格式,参考 https://greasyfork.org/en/scripts/390502-csdnremovecopyright/code
                    Object.defineProperty(window, "articleType", {
                        value: 0,
                        writable: false,
                        configurable: false
                    });
                } catch (err) {
                }
                csdn.copyright.init("", "", "");
                // 页头广告
                try {
                    document.getElementsByClassName("column-advert-box")[0].style.display="none";
                } catch (e) {}
                // 自动检测是否有目录,如果没有则删除右边栏,文章居中
                $("#rightAside").remove();
                // 登录按钮文字太多,修改
                $("a").each(function() {
                    if ($(this).attr('href') === 'https://passport.csdn.net/account/login') {
                        $(this).html('登入');
                    }
                });
                // 顶栏广告
                $("li").each(function(){
                    let self = $(this);
                    let dataType = self.attr('data-sub-menu-type');
                    if (dataType === 'vip') {
                        self.remove();
                    }
                });
                // 顶栏VIP选项
                $('.toolbar-subMenu-box').find("[href='https://mall.csdn.net/vip']").parent().remove();
            } else if (num == 3) {
                //论坛自动展开
                $(".js_show_topic").click();
            } else if (num == 4) {
                /** 配置控制 **/
                let config = new Config();
                let smCookie = config.get("scr-sm", true);
                let mdCookie = config.get("scr-md", false);
                let lgCookie = config.get("scr-lg", false);
                let foCookie = config.get("scr-fo", false)
    
                $("#scr-sm").prop("checked", smCookie);
                $("#scr-md").prop("checked", mdCookie);
                $("#scr-lg").prop("checked", lgCookie);
                $("#scr-fo").prop("checked", foCookie);
    
                if (smCookie) {
                    // Small Screen Mode
                    $(".main_father").removeClass("justify-content-center");
                    GM_addStyle(`
                    main{
                         auto!important;
                        float: none!important;
                        max- 100vw;
                    }
                    main article img{
                        margin: 0 auto;
                        max- 100%;
                        object-fit: cover;
                    }
                    `);
                    $("#mainBox").css("width", "100%");
                } else if (mdCookie) {
                    // Middle Screen Mode
                    $(".main_father").removeClass("justify-content-center");
                } else if (lgCookie) {
                    // Large Screen Mode
                    $(".container").css("margin", "0 auto")
                } else if (foCookie) {
                    // Focus mode
                    $(".recommend-right").remove();
                    $(".container").css("width", "100%");
                    $(".container > main").css("width", "100%");
                }
    
                // 屏幕尺寸单选监听
                $("#scr-sm").click(function () {
                    new Config().set("scr-sm", true);
                    new Config().set("scr-md", false);
                    new Config().set("scr-lg", false);
                    new Config().set("scr-fo", false);
                });
                $("#scr-md").click(function () {
                    new Config().set("scr-md", true);
                    new Config().set("scr-sm", false);
                    new Config().set("scr-lg", false);
                    new Config().set("scr-fo", false);
                });
                $("#scr-lg").click(function () {
                    new Config().set("scr-lg", true);
                    new Config().set("scr-sm", false);
                    new Config().set("scr-md", false);
                    new Config().set("scr-fo", false);
                });
                $("#scr-fo").click(function () {
                    new Config().set("scr-fo", true);
                    new Config().set("scr-sm", false);
                    new Config().set("scr-md", false);
                    new Config().set("scr-lg", false);
                });
                // 判断是否为登录状态
                $("a").each(function() {
                    if ($(this).attr('href') === 'https://passport.csdn.net/account/login') {
                        // 未登录删除无用按钮
                        $("a:contains('会员中心')").parent().remove();
                        $("a:contains('收藏')").parent()[0].remove();
                        $("a:contains('动态')").parent().remove();
                        $("a:contains('创作')").parent().remove();
                    }
                });
            } else if (num == 5) {
                // 改回背景颜色
                $(".login-mark").remove();
                // 删除登录框
                $(".login-box").remove();
            } else if (num == 6) {
                let did = false;
    
                /** 配置控制 **/
                // 推荐内容
                $(".blog-content-box").append("<br><div class='blog-content-box' id='recommendSwitch' style='text-align: right;'></div>");
                let recommendCookie = config.get("recommend", false);
                if (!recommendCookie) {
                    $(".recommend-box").hide();
                }
                if (recommendCookie) {
                    $("#toggle-recommend-button").prop("checked", true);
                    $("#toggle-button").prop("checked", true);
                } else {
                    $("#toggle-recommend-button").prop("checked", false);
                    $("#toggle-button").prop("checked", false);
                }
                config.listenButton("#toggle-recommend-button", "recommend",
                                   function() {$(".recommend-box").slideDown(200);},
                                   function() {$(".recommend-box").slideUp(200);});
                config.listenButtonAndAction("#toggle-button", "recommend",
                                    function() {$(".recommend-box").slideDown(200);},
                                   function() {$(".recommend-box").slideUp(200);});
                
    
                // 强制白色主题
                let whiteThemeCookie = config.get("whiteTheme", false);
                // 背景删除
                $('.main_father').attr('style', 'background-image: none !important; background-color: #f5f6f7; background: #f5f6f7;');
                $('[href^="https://csdnimg.cn/release/phoenix/template/themes_skin/"]').attr('href', 'https://csdnimg.cn/release/phoenix/template/themes_skin/skin-technology/skin-technology-6336549557.min.css');
                $('#csdn-toolbar').removeClass('csdn-toolbar-skin-black');
                $('.csdn-logo').attr('src', '//csdnimg.cn/cdn/content-toolbar/csdn-logo.png?v=20200416.1');
                $('html').css('background-color', '#f5f6f7');
                if (whiteThemeCookie) {
                    $("#toggle-whitetheme-button").prop("checked", true);
                } else {
                    $("#toggle-whitetheme-button").prop("checked", false);
                }
                config.listenButton("#toggle-whitetheme-button", "whiteTheme",
                                   function() {location.reload();},
                                   function() {location.reload();});
                
                // 自动靠左平铺
                let autoSizeCookie = config.get("autoSize", false);
                if (autoSizeCookie) {
                    setInterval(function () {
                        // 文章宽度自适应
                        if (window.innerWidth < 1100) {
                            // 删除原有响应式样式
                            $(".main_father").removeClass("justify-content-center");
                            $("article").width(window.innerWidth);
                            GM_addStyle(`
                            main{
                                 auto!important;
                                float: none!important;
                                max- 100vw;
                            }
                            main article img{
                                margin: 0 auto;
                                max- 100%;
                                object-fit: cover;
                            }
                            `);
                            did = true;
                        } else {
                            if (did === true) {
                                $("article").removeAttr("style");
                                did = false;
                            }
                        }
                    }, 500);
                }
                if (autoSizeCookie) {
                    $("#toggle-autosize-button").prop("checked", true);
                } else {
                    $("#toggle-autosize-button").prop("checked", false);
                }
                config.listenButton("#toggle-autosize-button", "autoSize",
                                   function() {location.reload();},
                                   function() {location.reload();});
    
                // 自动隐藏顶栏
                let autoHideToolbarCookie = config.get("autoHideToolbar", true);
                if (autoHideToolbarCookie) {
                    $(window).scroll(function() {
                        if (document.documentElement.scrollTop > 100) {
                    	    let scrollS = $(this).scrollTop();
                    	    if (scrollS >= windowTop) {
                    	    	$('#csdn-toolbar').slideUp(100);
                    	    	windowTop = scrollS;
                    	    } else {
                    	    	$('#csdn-toolbar').slideDown(100);
                    	    	windowTop = scrollS;
                    	    }
                        }
                    });
                }
                if (autoHideToolbarCookie) {
                    $("#toggle-autohidetoolbar-button").prop("checked", true);
                } else {
                    $("#toggle-autohidetoolbar-button").prop("checked", false);
                }
                config.listenButton("#toggle-autohidetoolbar-button", "autoHideToolbar",
                                   function() {location.reload();},
                                   function() {location.reload();});
    
                // 自动隐藏底栏
                let autoHideBottomBarCookie = config.get("autoHideBottomBar", true);
                if (autoHideBottomBarCookie) {
                    $("#toolBarBox .left-toolbox").css({
                    	position: "relative",
                    	left: "0px",
                    	bottom: "0",
                    	 $("#toolBarBox").width() + "px"
                    });
                    $(window).scroll(function() {
                    	$("#toolBarBox .left-toolbox").css({
                    		position: "relative",
                    		left: "0px",
                    		bottom: "0",
                    		 $("#toolBarBox").width() + "px"
                    	})
                    });
                }
                if (autoHideBottomBarCookie) {
                    $("#toggle-autohidebottombar-button").prop("checked", true);
                } else {
                    $("#toggle-autohidebottombar-button").prop("checked", false);
                }
                config.listenButton("#toggle-autohidebottombar-button", "autoHideBottomBar",
                                   function() {location.reload();},
                                   function() {location.reload();});
            } else if (num === 7) {
                $(".me_r")[1].remove();
            } else if (num === 8) {
                $(".blog_container_aside").remove();
    
                // 标题消息提醒去除
                let title = document.title.replace(/^\(.*?\)/g, "");
                document.title = title;
                // 评论复制按钮
                $('.comment-box').prepend('<button class="comment-hidden-text" style="display:none">COPY BUTTON</button>');
                $('.new-opt-box.new-opt-box-bg').prepend('<a class="btn btn-report btn-copy" onclick="javascript:$(\'.comment-hidden-text\').attr(\'data-clipboard-text\',$(this).parent().parent().find(\'.new-comment\').text())">复制评论</a><span class="btn-bar"></span>');
                $('.btn-copy').click(function() {
                    var clipboard = new ClipboardJS('.comment-hidden-text');
                    clipboard.on('success', function(e) {
                        console.info('Action:', e.action);
                        console.info('Text:', e.text);
                        console.info('Trigger:', e.trigger);
                        e.clearSelection();
                        $('.btn-copy').html('成功');
                        setTimeout(function() {
                            $('.btn-copy').html('复制评论');
                        }, 1000);
                    });
                    clipboard.on('error', function(e) {
                        console.error('Action:', e.action);
                        console.error('Trigger:', e.trigger);
                        $('.btn-copy').html('失败,请手动复制');
                        setTimeout(function() {
                            $('.btn-copy').html('复制评论');
                        }, 1000);
                    });
                    $(".comment-hidden-text").click();
                    clipboard.destroy();
                });
            } else if (num === 9) {
                // 删除CSDN LOGO悬浮后的二维码
                $(".toolbar-subMenu > img").parent().remove();
            }
        }, 100);
        progressor.incProgress(10);
    }
    

    注意:以上脚本请安装暴力猴浏览器插件

  • 相关阅读:
    服务器迁移的标准
    WMS日常运维_WJC
    WMS 162服务器空间满,清日志
    从壹开始【学代码】|| 我开发中的用到的几个框架
    从壹开始 [ Ids4实战 ] 之七 ║ 客户端、服务端、授权中心全线打通
    从壹开始 [ Design Pattern ] 之二 ║ 单例模式 与 Singleton
    从壹开始 [Admin] 之五 ║ 实现『按钮』级别权限配置
    从壹开始 NetCore 新篇章 ║ Blog.Core 开发社之招募计划书【已完成】
    回答
    三行
  • 原文地址:https://www.cnblogs.com/sunbingqiang/p/15944853.html
Copyright © 2020-2023  润新知