简单几行代码,写一个百度广告屏蔽插件,爽到爆

下载地址: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

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部