Greasy Fork

Greasy Fork is available in English.

CSDN 助手

移除CSDN博客详情页推荐列表中的下载和推荐课程 | 百度搜索csdn结果优化 标红百度搜索中CSDN的下载、聚合搜索、社区

目前为 2021-08-31 提交的版本。查看 最新版本

// ==UserScript==
// @name         CSDN 助手
// @namespace    http://tampermonkey.net/
// @version      0.1.7
// @description  移除CSDN博客详情页推荐列表中的下载和推荐课程 | 百度搜索csdn结果优化 标红百度搜索中CSDN的下载、聚合搜索、社区
// @match        https://blog.csdn.net/*/article/details/*
// @match        https://www.baidu.com/s?*
// @match        https://editor.csdn.net/md/?articleId=*
// @icon         https://g.csdnimg.cn/static/logo/favicon32.ico
// @run-at       document-end
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...

    let url = window.location.href;

    // 百度搜索
    if (url.match(/baidu.com\/s?/)) {
        // 找出百度搜索结果中csdn的下载项、聚合搜索,并标红显示
        // 在油猴插件《AC-baidu-重定向优化百度搜狗谷歌必应搜索_favicon_双列》渲染后执行
        setTimeout(findCSDNDownload, 1000);

        // 监听滚轮 配合AC重定向脚本翻页使用
        $(window).scroll(function () {
            //为了保证兼容性,这里取两个值,哪个有值取哪一个 scrollTop就是触发滚轮事件时滚轮的高度
            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
            if (scrollTop > 50) {
                findCSDNDownload()
            }
            //console.log("滚动距离" + scrollTop);
        });


    }
    // csdn文章详情页
    if (url.match(/blog.csdn.net/)) {

        setTimeout(removeDownloadAndCourse, 1000);

        setTimeout(() => {
            $('.toolbar-advert').remove() // csdn 顶部横幅广告
        }, 1000);
    }


    // 去除csdn下载项、推荐课程
    /**
      * type_blog : 文章
      * type_download : 下载项
      * type_course : 推荐课程
      */
    function removeDownloadAndCourse() {
        // 1.文章底部
        $('.first-recommend-box > div').hasClass("type_blog") ? '' : $('.first-recommend-box > div').remove()
        $('.second-recommend-box > div').hasClass("type_blog") ? '' : $('.second-recommend-box > div').remove()

        // 2.相关推荐  csdn这里是动态渲染的,所以需要延迟执行
        $('.insert-baidu-box .recommend-item-box').each((index, domEle) => {
            $(domEle).hasClass("type_blog") ? "" : $(domEle).remove()
        })
    }


    // 百度搜索csdn结果优化
    function findCSDNDownload() {
        //debugger; //开启调试
        let $blocks = $('.result > h3');
        $blocks.each(function (index, item) {
            let href = $(this).children("a").attr("href");
            if (
                href.includes("download.csdn") || // 下载
                href.includes('iteye.com/resource') || // 下载
                href.includes("csdn.net/tags") || // 聚合搜索
                href.includes('bbs.csdn.net') // 社区
            ) {
                $(this).css("background", "red");
                // console.log(`============标红了第${index + 1}个=>${href}`);
            }
        });
    }


    // 点击目录 csdn编辑文章目录有bug
    if (url.match(/editor.csdn.net\/md/)) {

        setTimeout(() => {
            $(".side-title__button_close").click()
        }, 500);

        setTimeout(() => {
            $("button[data-title='目录']").click()
        }, 1000);
    }
})();