去除CSDN 博客页广告的历程
来源:互联网 发布:农家乐商机数据 编辑:程序博客网 时间:2024/05/19 16:34
- 第一招
- 方式1
- 方式2
- 第二招
- 第三招
- 素材准备
- 必备知识
- 代码部分
- 测试
- 总结
- 第一招
作为CSDN的忠实用户,我觉得它挺不错的。美中不足的是广告,虽然相比于微博啊,开源中国啊这些博客站点,它的广告已经算是很少的了。但还是会让博主有点尴尬,毕竟强迫症不是一天两天就能治好的。⊙﹏⊙b汗
于是就想着怎么能去掉这些广告,给自己一个清静的阅读环境。
第一招
最简单的方式就是使用现成的软件了。一劳永逸。
据博主了解,Chrome浏览器上有很多这样的插件,比如AdBlock, 电脑管家插件啊什么的。种类很多,找到一个适合自己的,下载安装即可使用。
鉴于博主被Chrome俘获,这里就演示一下如何安装去广告插件吧。
方式1
这第一招嘛,比较简单。但是需要有个前提,那就是本机上安装了 腾讯电脑管家这个杀毒软件。 这里对于杀毒软件什么的不过多叙述了,大家都懂的,但是为什么装这么个东西呢,无非就是懒呗,装完之后垃圾,痕迹,网络什么的也方便管理了。
关于“腾讯电脑管家是如何偷偷地安装chrome插件的?”这一个问题,知乎上有这么一个回答,我觉得还蛮不错,贴出来如下:
chrome是欢迎并允许这种插件自动安装用以扩充功能的!自然也就不给你任何提示。
所以,如果你的机器环境和博主的一致(装了电脑管家和Chrome浏览器),那么恭喜你,你将很轻松的获得一个不错的上网环境。
普通模式下:看起来已经很不错了,但是留下一个小框框感觉还是让人有点纠结。
强力过滤模式下:这下页面上终于没有广告咯。好好享受这片宁静吧。
方式2
这第二种方式就需要稍微的费点心思了,如果您的电脑管家插件没有自动安装的话,咱们就得手动的去装一个咯。
但是Chrome浏览器的“插件超市”有点让国人尴尬,墙的原因,大家都懂的了。于是我们首先得能够翻墙,翻墙的方法更是数不胜数了,不多叙述。博主这里采用了一个最笨的方法,那就是使用软件如Lantern,赛风,不是本文的重点,故不再叙述了,有兴趣的小伙伴们可以自行研究一番。
下面讲解一下怎么一步步的手动安装电脑管家的Chrome插件。
然后搜索下载,添加到Chrome即可。
第二招
添加JavaScript脚本,也是一件很爽的事情哦。看看下面的这两行代码,就知道了。
查看一下网页上的源码:
起初,我以为这是个随机生成的id,但是连续查看了好多页面之后发现,这是个固定值的常数,这样真的是如虎添翼了。那还等什么,让JavaScript出场吧。
现在发现了吧,没有广告咯。
但是问题来了,咱也不能每次都得打开控制台,写两行代码吧,这就显得有点麻烦了。至于解决办法嘛,估计你也想到了,那就是在网页上注入JavaScript代码。但是对于CSDN用户而言,这个权限只有博客专家才能有。那就是通过添加栏目的方式,写上脚本代码。但是普通用户是不能在栏目里面添加JavaScript脚本代码的,因为会被自动的替换掉。
博主比较幸运,恰好有这么个权限。
如果您的情况和博主一样的话,下面的代码就能帮到你了。
<script>// 因为从刚才的控制台,博主发现有JQuery的支持,这样写比原生的会更加的方便一些,代码如下$(document).ready(function(){ setInterval(function(){ $("#cpro_u2392861_closebtn").trigger("click"); $("#bd-hl-content").css("display","none"); $(".J_adv").css("display","none"); $("#cpro_u2392861").css("display","none"); $("#adJs52b5334").css("display","none"); },3000);// 添加轮询的原因是,注入的JavaScript代码在广告代码之后执行了,要想去掉广告,就必须再加载一次 去广告的脚本咯 });</script>
不过,这并没有真正的解决全站广告,去掉的也就是本机浏览时出现的广告罢了。
第三招
不过,话又说回来了,非博客专家难道就不能用代码去广告了吗?
答案是否定的,不然写这篇文章也就没什么意义了。博主下面正式的介绍本文的重点,那就是为普通的用户写一个切实有用的去广告插件。
素材准备
- 16X16的png图片,48X48, 128X128的png图片三张
- 文本编辑器一个
- Chrome浏览器一个
- 一颗勇敢的❤
必备知识
这里说的必备知识,也就是制作一个Chrome插件所需的知识。但是不要被标题吓到了,只要我们按照套路出牌,比着葫芦画瓢还是很简单的。
- 具备一定的JavaScript语言
- 了解开发Chrome插件的“骨架”
相关文件的格式及写法
骨架:就是一个图片文件夹,一个js文件夹,一个manifest.json文件和一个popup.html文件。当然了,这是最基础的,我们还可以添加option.html等文件来进一步丰满插件的内容。
。
- 本例的manifest.json文件,比较基础。就不再过多介绍了。
{ "manifest_version": 2, "name": "Ad Block", "version": "1.0", "description": "去除页面上的广告", "icons":{"16":"./image/icon16.png","48":"./image/icon48.png","128":"./image/icon128.png"}, "browser_action": { "default_icon": "./image/icon16.png", "name": "Ad Block", "default_title": "Ad Block", "default_popup": "popup.html" }, "permissions": [ "tabs", "http://blog.csdn.net/*", "activeTab", "notifications","storage","http://*/" ]}
需要注意的地方:
需要注意的地方就是
manifest_version
一定要为2,这是规定。所以大家遵守就可以了。
还有就是图片一定要按照要求放置和处理。
代码部分
- 待注入的JavaScript代码文件如下:
window.onload = function(){ setInterval("blockad()", 3000); //如果嫌不放心的话,下面的注释也可以去掉 //blockad();}function blockad(){ document.getElementById("adJs52b5334").style.display = "none"; document.getElementById("bd-hl-content").style.display = "none"; document.getElementById("cpro_u2392861").style.display = "none"; document.getElementById("cpro_u2392861_closebtn").style.display = "none";}
- popup.html部分
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>去除广告</title> <style> * { margin:0; padding:0; } body { width: 248px; height: 97px; } div { line-height: 100px; font-size: 42px; text-align: center; } input { border-radius: 28px; width:82%; font-size: 42px; background-color: white; box-shadow: 2px 2px 2px #e6e6e6; font-family: "Georgia, serif"; height: 100%; } #blockad_input { transition-duration: 2.8s; } #blockad_input:hover { background-color: black; color: white; } </style> <script src="./js/adblock.js"></script></head><body><div id="ad_div"> <input id="blockad_input" type="button" name="addblockbtn" onclick="blockad()" value="Ad Block"></div></body></html>
测试
我们只需要在刚才的拓展程序界面选中 “开发者模式”,就可以加载咱们自己的插件咯。
这里博主的情况如下:
很明显,图标部分出了点意外。博主仔细查看了一下,貌似是manifest.json文件中需要添加一个专门针对于拓展栏上的大小的图标,39X39.png,不过这不是什么重要的了。
这样,一个简易的去广告插件就完成了。
总结
回顾一下,这篇文章主要是讲解了如何去除CSDN的博客页面上的广告,代码也比较的简单。
或许您会有更大点的需求,去除所有页面的广告。按理说这也是可行的,不过是需要一些手段罢了。不过这样的话,岂不是又自己做了一个“腾讯电脑管家插件”了吗?
这样重复造轮子的活,博主不是很想做,除非下定决心做一个更好的轮子出来。
展望:
博主的展望就是通过手动的添加类似于上面的广告位的id,来扩充去广告的数据库,这样的话就必须有一台甚至多台服务器了,每次插件一旦启动,就自动的去更新广告位id,然后执行当前页面的去广告逻辑... ...思路就是这么个思路,有兴趣的小伙伴不妨试试咯。 ~\(≧▽≦)/~啦啦啦
- 去除CSDN 博客页广告的历程
- 去除CSDN 博客页广告的历程
- 去除csdn博客的广告
- 去除csdn右下角广告
- CSDN博客历程
- 屏蔽CSDN博客广告的代码
- CSDN博客页面去广告的解决
- “干掉”CSDN博客广告
- CSDN博客放广告
- 去掉csdn 博客广告
- 去除网站空间的广告
- 去除迅雷的广告
- 去除WinRAR的广告
- CSDN博客放google广告
- CSDN博客放google广告
- CSDN博客广告好多啊
- CSDN 博客的广告,真的好丑啊。
- 轻松“干掉”CSDN博客中“插播”的广告
- 由于 box.style.left只能获取行内样式的值,不能获取到css中JS中样式left等值;用JS获取外部CSS样式--currentStyle和getComputedStyle的兼容写法
- Orm之XML解析
- Android中Activity和Fragment之间的通信
- Java文件读写操作
- 剑指Offer 9题 斐波那契数列(Fibonacci) Java版
- 去除CSDN 博客页广告的历程
- JS中各种宽度距离小结
- [数据库连接池] Java数据库连接池--DBCP浅析.
- Chrome“无法添加来自此网站的应用”的解决办法
- [HDU]5531 Rebuild (三分法求下凸函数,维护最小圆面积)
- 两个辅助指针变量挖字符串(4种实现方式)
- C/C++野指针
- 1.mysql bin-log日志基本操作与数据库备份还原
- scipy求一些统计量的p值和分位数