前言
鉴于你对知识质量的渴望,以及对挖掘知识金子的欲求,你一定想在浏览器结果中去除有关Csdn的全部内容😈**(确信)**,但是当你在用bing或者google搜索有没有可以屏蔽CSDN搜索结果的方法时,通常会有以下的结果,这些方法我基本上都尝试过,而且没啥用处,因此下面我分享一个确实有用的方法给大家。

效果图
老规矩,我喜欢在看一系列繁琐的步骤前先看看效果,这样我才有继续看下去的欲望,相信大多数人都是这样想的😝

假设你非是不信邪,尝试通过在地址栏直接通过csdn的官网进行访问,会得到下面的结果

步骤
- 至少拥有一个脚本管理器,比如tampermonkey,安装后可以在浏览器的扩展选项卡中查看是否安装成功
- 下载屏蔽脚本Fuck CSDN (greasyfork.org)
- 打开tampermonkey,如何有相应的图标说明就安装成功了

- 尝试在搜索栏搜索相关内容,就能发现脚本将所有csdn相关的内容都隐去了
注:这个脚本只支持 Google / Baidu / Bing / 360 搜索,对于一些不常用的搜索引擎是没用的
脚本原理分析(可以不看)
这个部分,我来分析一下这个脚本实现的原理,虽然说是不必要的,但是学习一下原作者的代码思维还是有用的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| function isSite(domain) { return window.location.href.match(new RegExp("^https?:\/\/[\\w.]+?" + domain)) }
function HideCSDN(){ const filters = ".source_1Vdff, .iUh30, .b_attribution, .g-linkinfo-a".split(", ") const Elements=document.querySelectorAll(".result.c-container, .g, .b_algo, .res-list"); let num; Elements.forEach(function(Item,i){ for (var filter in filters) { let selectedContent=Item.querySelector(filters[filter]) if (selectedContent !== null) { if (selectedContent.innerText.toLowerCase().includes("csdn")) { Item.parentNode.removeChild(Item); num = i; break; } } } }); if (num !== undefined) { console.log(`[Fuck CSDN] 已去除 ${num} 条 CSDN 内容`) } }
function bind() { document.querySelectorAll(".page-item_M4MDr, #form, #page, .ac_wrap").forEach( function(Item) { Item.addEventListener('mousedown',function () { setTimeout(function(){ HideCSDN(); if (isSite('so.com')) { bind(); } },1000); }) } )}
document.querySelectorAll("input.gLFyf.gsfi, input#kw, input#keyword").forEach( function(Item) { Item.addEventListener('keydown', function () { var evt = window.event || arguments.callee.caller.arguments[0]; if (evt.keyCode == "13") { setTimeout(function(){HideCSDN();},1000); } })})
if (isSite('csdn.net')) { document.body.innerHTML = "Blocked by Fuck CSDN."; window.history.go(-1); }
HideCSDN();
bind();
|