简单几行代码,写一个百度广告屏蔽插件,爽到爆
下载地址:https://github.com/jsoncode/baiduBlock
使用方法:
将文件夹拖到这里面
一个小问题:
我没有境外支付信用卡>无法向谷歌支付$5的费用>每次打开浏览器都会提示是否禁止>点取消就行了
也可以通过网上的方法,修改注册表关闭提示,这里就不再赘述
如果你有更新,需要打开第二张图的位置,重新载入才能生效
目录结构
-bd.png
-browser_action.js
-config.js
-manifest.json
manifest.json
{ "name": "屏蔽百度广告", "manifest_version": 2, "version": "1.0", "description": "百度插件", "browser_action": { "default_icon": "bd.png" }, "icons": { "128":"bd.png" }, "content_scripts": [{ "matches": [""], "js": ["config.js","browser_action.js"] }]}
browser_action.js
var lists = str.split('\n').filter(function(v) { if (v) return true});function clear(lists) { var local = location.href; for (var a = 0, list; list = lists[a++];) { var sub = list.split('$'); if (new RegExp(sub[0]).test(local)) { var selector = sub[1]; var obj = document.querySelectorAll(selector); for (var i = 0, item; item = obj[i++];) { item.parentNode.removeChild(item); } } }}clear(lists);setInterval(function() { clear(lists);}, 2000);var input = document.querySelector("input[name=wd]");input&&input.addEventListener('change', function() { clear(lists);});
之所以用定时器一直调用,是因为有些网站会动态延迟的加载动态脚本类的广告,比如bd,恶心无比,自己使用的adBlock,adBlock plus都不理想。
config.js
var str = `www.baidu.com$# content_left [style="display:block !important;visibility:visible !important"]www.baidu.com$[tpl="right_toplist"]www.baidu.com$[class="c-gray c-feedback"]www.baidu.com$[data-click*="vLevel"]`;
用法:每次只需要修改config.js中的规则就行
规则约定:需要屏蔽的网站地址$css3选择器,中间的$是分隔符,选择器选中的就是要被删除的广告
上面四个规则自己常用的,
第一个可以屏蔽大多数动态流氓广告,之所以用这么低级的方法(style=*)是因为这类广告伪装实在太逼真(和正常搜索结果没任何区别)
第二个屏蔽右侧不喜欢的推荐
第三行忘记了,
第四行是一些推广广告
从此,世界一片洁净,我不会成为第二个魏则西,在此分享给大家,
关键字:JavaScript
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!