CSDN版面越来越乱,最近还总是弹出红包雨和顶部巨大横幅,左侧也会随机出现学生认证弹窗。而且版面混乱难看,看起来非常费劲。

另外底下的推荐列表经常夹杂着CSDN文件下载的链接,下载文件又要付费,从来不会用CSDN的下载,只希望能在推荐列表里看看博客,所以顺便把底下推荐列表中的下载推荐链接也去掉了,只剩下博客的链接。

所以写了一个净化CSDN的油猴脚本,效果还可以。

CSDN博客默认打开效果:

使用脚本净化后的效果:

*0.5.1更新(2021-11-02):右侧边栏去除

*0.5.2更新(2022-07-03):顶栏左侧按钮错位修复

油猴(TamperMonkey)里创建一个新脚本,直接复制进去就能用。

// ==UserScript==
// @name CSDN净化
// @namespace http://tampermonkey.net/
// @version 0.5.2
// @description fuck you csdn!
// @author Sanders
// @match *://*.csdn.net/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript== (function() {
'use strict'; // 背景调成深色,看起来更舒适
$("body").css("background-color", "dimgray"); // 删除侧边栏热门文章
var hotArticle = document.getElementById("asideHotArticle");
if (hotArticle != null) {
hotArticle.remove();
} // 直接删除傻逼左侧边栏
const sideBar = document.getElementsByClassName("blog_container_aside")[0]
if (sideBar != null) {
sideBar.remove();
} // 删除右侧边栏
const rightSideBar = document.getElementById("rightAside");
if (rightSideBar != null) {
rightSideBar.remove();
} // 让文章居中全宽
var mainBox = document.querySelector('#mainBox>main');
if (mainBox != null) {
mainBox.style.width = '75%';
mainBox.style.float = "none";
mainBox.style.marginLeft = "12.5%";
// 调整图片比例
$("#content_views img").css("max-width", "65%");
$("#content_views img").css("margin-left", "22.5%");
} // 将底部的作者栏调小
var bottomBar = document.getElementsByClassName("left-toolbox")[0]
if (bottomBar != null) {
bottomBar.style.height = "10px";
} // 边栏移到底部去
// document.getElementsByClassName("blog_container_aside")[0].style.display = "contents" // 删除所有download的链接(仅适用于blog.csdn.net)
var downloads = document.getElementsByClassName("recommend-item-box type_download");
// 反着删才管用
for(var i=downloads.length - 1; i >= 0; i--){
if (downloads[i] != null) {
downloads[i].remove();
}
} // 删除所有download.csdn.net的链接
setTimeout(function() { var downloads2 = document.querySelectorAll("div[data-type=download]");
for(i=downloads2.length - 1; i >= 0; i--){
if (downloads2[i] != null) {
downloads2[i].remove();
}
} var allLinks = document.getElementsByTagName("a");
var downloadReg = RegExp(/download.csdn.net/);
for (i = allLinks.length - 1; i >= 0; i--) {
const link = allLinks[i].href;
if (link.match(downloadReg)) {
// 为了判断是不是导航栏的下载按钮,如果删了会导致导航栏错位,很蠢
if (allLinks[i].parentElement.title != "获取源码、文档、学习资源") {
allLinks[i].remove();
}
//allLinks[i].remove();
}
}
}, 1000); // 针对blink.csdn.net页面调整
// 调整版面
$(".blink-main-l").css("width", "70%");
$(".blink-main-l").css("margin-left", "15%");
$(".blink-main-l").css("margin-right", "0");
// 移除右边的个人栏
$(".blink-main-r").remove(); // 针对bbs.csdn.net页面调整
$(".user-right-floor").remove();
$(".detail-container").css("margin-left", "15%"); window.onload = function () { // 删除顶栏广告
var adTime = 10;
var adBar = setInterval(removeAdBar, 1000);
function removeAdBar() { var adBar = document.getElementsByClassName("toolbar-advert")[0];
if (adBar != null) {
adBar.remove();
clearInterval(adBar);
}
if (time == 10) {
clearInterval(adBar);
}
time++; } // 删除其他广告(针对CSDN主页)
$("[id^=kp_box]").remove();
$("[class*=advert-box]").remove(); // 会导致顶栏错位 // 删除学生认证
var highschool = document.getElementById("csdn-highschool-window");
if (highschool != null) {
highschool.remove();
} // 删除右下角的圆形广告
var toolbar = document.getElementsByClassName("csdn-side-toolbar")[0];
if (toolbar != null) {
toolbar.remove();
}
var logo_ad = document.getElementsByClassName("csdn-common-logo-advert")[0];
if (logo_ad != null) {
logo_ad.remove();
} // 删除Logo
var logo = document.getElementsByClassName("toolbar-logo")[0];
if (logo != null) {
logo.remove();
} // 顶部左侧按钮的 height=100% 会错位,移除这个属性就好了
var tool_bar = document.getElementsByClassName("toolbar-menus")[0];
if (tool_bar != null) {
tool_bar.style.height = "auto";
} // 删除vip弹窗广告
var vip = $(".mask")[0]
if (vip != null) {
vip.remove();
} // 删除红包雨
// 每0.5秒检测一次,持续检测4次,有时候网速问题加载会延时
var redTime = 0;
var redPocket = setInterval(deleteRedPocket, 500);
function deleteRedPocket() {
var redPocketLayer = document.getElementById("csdn-redpack");
if (redPocketLayer != null) {
redPocketLayer.remove();
clearInterval(redPocket);
}
if (redTime == 4) {
clearInterval(redPocket);
}
redTime++;
} // 删除会员组合券广告弹窗
var buysideTime = 0;
var buyside = setInterval(deleteBuyside, 500);
function deleteBuyside() {
var buysideLayer = document.getElementByClassName("csdn-buyside-entry-box")[0];
if (buysideLayer != null) {
buysideLayer.remove();
clearInterval(buyside);
}
if (redTime == 4) {
clearInterval(buyside);
}
buysideTime++;
} // 删除登录弹窗
// 每1秒检测一次,持续检测10次,有时候网速问题加载会延时
var time = 0;
var login = setInterval(deleteLogin, 1000); function deleteLogin() {
var loginWindow = document.getElementsByClassName('passport-login-container')[0];
if (loginWindow != null) {
loginWindow.remove();
clearInterval(login);
}
if (time == 10) {
clearInterval(login);
}
time++;
} };
})();

油猴CSDN净化脚本的更多相关文章

  1. [Chrome] 谷歌浏览器开启开发模式仍然无法安装油猴脚本

    右键 > 属性 > 起始位置 > 添加 --enable-easy-off-store-extension-install 谷歌浏览器无法安装油猴脚本:--enable-easy-o ...

  2. 自用chrome+油猴脚本,使用迅雷下载百度云大文件,一键离线下载

    油猴是有名的火狐浏览器插件(Greasemonkey),当然也有Chrome版本(tampermonkey),甚至IE.Safari.Opera都有……虽然这些插件是由不同的开发者开发出来的,界面也可 ...

  3. 油猴和EX-百度脚本 百度网盘下载

    pansoso.com 搜网盘 油猴和EX-百度脚本.zip https://aleikeji.pipipan.com/fs/845023-331102839

  4. 使用 Sublime 或其他编辑器调试 Tampermonkey 油猴脚本

    作者说由于 Chrome 安全限制,没办法调用外部编辑器调试,但提供了一个间接办法,那就是脚本中使用@require file:///引入本地文件的形式,具体的方法是 打开 chrome://exte ...

  5. [转帖]油猴脚本管理器 Tampermonkey v4.8 离线CRX安装包(谷歌浏览器版)

    https://www.52pojie.cn/thread-1010604-1-1.html 油猴脚本管理器 Tampermonkey v4.8 离线CRX安装包(谷歌浏览器版) 链接:https:/ ...

  6. Tampermonkey油猴脚本管理插件-最强浏览器插件的安装使用全攻略

      对于接触过谷歌浏览器插件的“玩家”们来说,应该没有人没听说过Tampermonkey用户脚本管理器,也就是中文所说的“油猴”这个chrome插件了. 油猴号称全商店最强的浏览器插件绝非浪得虚名,一 ...

  7. 浏览器插件之王-Tampermonkey(油猴脚本)

    大家电脑都在使用浏览器,相信大家对浏览器插件也不陌生,浏览器插件是安装在浏览器里面,对浏览器功能进行拓展的脚本,现在的主流浏览器都有各种各样的插件如图: 这些插件让我们的上网方便了许多,有去广告的插件 ...

  8. 网课应该这么刷(油猴Tampermonkey脚本自动刷课)

    懒人福利 首先有些人不想学怎么用脚本,满足你们,压缩包解压之后直接登录即可.戳我下载 脚本已经集成好了,登录即可刷课.章节测试还会自动答题呦,正确率高达97%呦. 油猴及脚本安装 油猴的脚本不知可以刷 ...

  9. 油猴脚本 之 网教通直播评论记录抓取 v2.0

    先放一个 <油猴脚本 之 网教通直播评论记录抓取>那篇文章的传送门 . 修复内容 将所有表情转为 [符号表情] 字样,而非删除: 修复被禁言用户读取异常,现在被禁言用户表示为 张三 [已禁 ...

  10. 【接单】找我付费定制Python工具软件或网站开发、Chrome浏览器插件、油猴脚本

    各位可付费找我定制Python工具软件或网站开发.Chrome插件.油猴脚本.自动化软件,可通过我做的软件来评判我的实力,一定要先和我沟通你的需求,做不了的我也不会接. 费用50元起,通过淘宝APP或 ...

随机推荐

  1. Vulnhub 靶机 CONTAINME: 1

    Vulnhub 靶机 CONTAINME: 1 前期准备: 靶机地址:https://www.vulnhub.com/entry/containme-1,729/ kali地址:192.168.147 ...

  2. jni调用

    花了三天时间,终于把这个环境和实现都弄通了一遍. 先来个总纲: 准备工作:jdk环境,eclipse,gcc环境,cdt插件 a.编写带有native声明的java类, b.编译java类 c.用ja ...

  3. MogDB 学习笔记之 -- PITR恢复

    # 概念描述## 背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,MogDB的即时恢复功能(Point-In-Time Recovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间 ...

  4. 自定义类型与Qt元对象系统

    个人发现一篇关于在Qt中使用元对象系统支持自定义类型的好博文,记录下防止丢失(如有侵权,烦请告知删除).博文原地址:http://qtdebug.com/qtbook-misc-qvariant/ Q ...

  5. Java数组之冒泡排序【重点】

    冒泡排序 冒泡排序是最为出名的排序算法之一,总共有八大排序! 冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较. 我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n2). ...

  6. alertmanger告警配置

    钉钉告警: 需先安装 Ding talk 配置 webhook vim docker-compose.yaml webhook-dingtalk: image: timonwong/prometheu ...

  7. jenkins +docker+python接口自动化之jenkins容器下安装python项目所需要的库(三)

    1.场景 1.centos系统,在docker的jenkins容器下安装python项目所需要的包 2.我们目前是搞接口自动化,代码放到码云上,运行环境是jenkins容器下,所以需要在jenkins ...

  8. Windows 分层窗口 桌面上透明 Direct3D

    Windows 分层窗口 桌面上透明 Direct3D 1 //IDirect3DSurface9 GetDC UpdateLayeredWindow 2 3 #include <Windows ...

  9. [OC] 链式语法

    我们新建了一个类,叫做 OJClass (这可以是 ViewController,UIView,NSObject 等各种类型的类,这里我们把它以UIView进行举例) 现在我们想要用链式语法的方式来设 ...

  10. 织梦清除文章后后台页码异常怎么办?dedecms页码缓存更新设置

    织梦dedecms当我们清除大量文章后,发现织梦后台文章列表的页码还是原来的数量或者页码显示异常,该怎么办呢?其实是因为dedecms页码有缓存更新设置,DeDeCMS有缓存机制,有些比较费时的SQl ...