大家是不是对CSDN引入的百度广告很是反感?
不知大家啥感受,反正我是很烦这个,你TM显示就算了,还不停的轮播!!!
の,严重影响LZ认真看文章,早就想干掉他了,
今天突然之间有个想法,得搞个chrome插件,把这个干掉,不然这样忍下去,估计LZ要变成忍者了。。。
说实话,之前没写过chrome插件,只安装过一些插件,开始研究。
推荐文章:https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html#content-scripts 干活多多!!!
废话不多说了,来看具体咋搞个去广告的插件。。
1、编写manifest.json,主文件
{
"manifest_version": 2, //固定的
"name": "ClearAD", //插件名称
"version": "1.0", //插件使用的版本
"description": "广告快消失", //插件的描述
"browser_action": { //插件加载后生成图标
"default_icon": "tobearc.jpg",//图标的图片
"default_title": "广告快消失", //鼠标移到图标显示的文字
"default_popup": "clear.html" //单击图标执行的文件
},
"permissions": [ //允许插件访问的url
"http://*/",
"bookmarks",
"tabs",
"history"
],
"background":{//background script即插件运行的环境
"page":"background.html"
// "scripts": ["js/jquery-1.9.1.min.js","js/background.js"]//数组.chrome会在扩展启动时自动创建一个包含所有指定脚本的页面
},
"content_scripts": [{ //对页面内容进行操作的脚本
"matches": ["http://*/*","https://*/*"], //满足什么条件执行该插件
"js": ["js/jquery.min.js", "js/js.js"],
// 代码注入的时间,可选值: "document_start", "document_end", or "document_idle",最后一个表示页面空闲时,默认document_idle
"run_at": "document_end" //在document加载时执行该脚本
}]
}
2、编写js.js,去广告的控制代码
//经过分析博客源文件,发现广告都是通过iframe渲染的,故隐藏所有iframe
//方法是不是有点粗暴,但是能用
//天也不早了,抽空再优化,争取搞个全网去广告插件
try{
var loc=document.location.href;
console.log(loc);
if(-1!=loc.indexOf('csdn.net')){
var ads=$('iframe');
for(var i=0;i<ads.length;i++){
ads[i].style.display='none';
}
}
}catch(e){
console.log(e);
}
3、相关文件结构
4、安装插件
在chrome的更多工具菜单,选择扩展程序,选中插件目录,安装即可。
5、浏览验证
安装完成后,打开博客页面验证结果,可以看到,广告自动隐藏了,终于可以认真看文章了。
插件及源码:https://download.csdn.net/download/tobearc/11017691