清除原理
利用JS的DOM操作获得广告节点,然后使用remove()方法或者修改display:none清除节点。
代码示例:
//侧边栏第一个广告
document.getElementsByClassName("csdn-tracking-statistics mb8 box-shadow")[0].remove();
//侧边栏第二个广告
document.getElementById("footerRightAds").remove();
//评论栏上方广告
document.getElementById("dmp_ad_58").remove();
//推荐文章中穿插的广告
function clean(){
var ads = document.getElementsByClassName("recommend-item-box recommend-recommend-box");
for(var i =0; i < ads.length; i++){
ads[i].style.display="none";
}
}
clean();
插件下载:ADcleaner CSDN下载
插件使用
1.在浏览器中找到插件管理:
网址进入:chrome://extensions/
2.找到本地插件解压后文件夹并加载:
插件编写
如果你想要编写一个简单的谷歌插件,有必要了解一下基础知识:关于谷歌浏览器插件开发
本文中的插件包含两个文件:manifest.json 和 cleaner.js
1.manifest.json文件
{
"manifest_version": 2,
"name":"CSDN广告清除",
"version":"1.0",
"description":"清除博客中的广告",
"browser_action":
{
"default_icon":"images/shield.png",
"default_title": "这是CSDN广告屏蔽插件"
},
"content_scripts": [
{
"matches": ["https://blog.csdn.net/*"],
"js": ["cleaner.js"]
}
]
}
2.cleaner.js文件
document.getElementsByClassName("csdn-tracking-statistics mb8 box-shadow")[0].remove();
document.getElementById("footerRightAds").remove();
document.getElementById("dmp_ad_58").remove();
function clean(){
var ads = document.getElementsByClassName("recommend-item-box recommend-recommend-box");
for(var i =0; i < ads.length; i++){
ads[i].style.display="none";
}
}
clean();
问题更新
如果插件无效,通过浏览器的开发这界面找到广告所在的DOM节点,修改cleaner.js的部分代码,刷新即可。
2020.8.9
左侧搜索框下的广告拦截失效,cleaner.js更改代码如下:
document.getElementsByClassName("box-shadow mb8")[0].remove(); //改正
document.getElementById("footerRightAds").remove();
document.getElementById("dmp_ad_58").remove();
function clean(){
var ads = document.getElementsByClassName("recommend-item-box recommend-recommend-box");
for(var i =0; i < ads.length; i++){
ads[i].style.display="none";
}
}
clean();
百度网盘资源链接:
链接:https://pan.baidu.com/s/1-XbUyoIVyU1bZ2TROyFTjw
提取码:9jam