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

下载地址:https://github.com/jsoncode/b...
使用方法:

clipboard.png

将文件夹拖到这里面
clipboard.png

一个小问题:
我没有境外支付信用卡>无法向谷歌支付$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": ["<all_urls>"],
        "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=*)是因为这类广告伪装实在太逼真(和正常搜索结果没任何区别)
第二个屏蔽右侧不喜欢的推荐
第三行忘记了,
第四行是一些推广广告

从此,世界一片洁净,我不会成为第二个魏则西,在此分享给大家,


这里更新一下,每次打开浏览器,都会提示的问题。

我找到了一个管理浏览器插件代码片段的工具Tampermonkey,是一个浏览器插件。
然后就可以把我的百度插件代码添加到这个插件中使用,就不会每次都提示了。

使用方法:
1,新增脚本
图片描述

2,粘贴代码
图片描述

代码如下:

// ==UserScript==
// @name         ad-baidu
// @namespace    https://baidu.com/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.baidu.com/**
// @grant        none
// ==/UserScript==
var selectors = `
#content_left [style*="display:block !important;visibility:visible !important"]
[tpl="right_toplist"]
[class="c-gray c-feedback"]
[data-click*="vLevel"]
`;
selectors = selectors.trim().split('\n');
var count = 0;
function showCount(cn){
    if(cn>0){
        count+=cn;
        var content_right = document.querySelector('#content_right');
        if(content_right){
            content_right.style.position = 'relative';
            var style = `
line-height: 42px;
text-align: center;
background: #0c0;
color: #fff;
margin-bottom:30px;
`;
            var msgCount = document.querySelector('#msg-remove');
            if(!msgCount){
                content_right.insertAdjacentHTML('afterbegin','<div id="msg-remove" style="'+style+'"></div>');
                msgCount = document.querySelector('#msg-remove');
            }
            msgCount.innerHTML = '已过滤:'+count+'条垃圾广告,本次过滤:'+cn+'条';
        }
    }
}
function clear() {
    selectors.forEach(function(selector) {
        var doms = document.querySelectorAll(selector);
        if(doms.length){
            doms = Array.from(doms);
            showCount(doms.length);
            doms.forEach(function(dom) {
                dom.parentNode.removeChild(dom);
            });
        }
    });
}
setInterval(function () {
    clear();
},500);

然后每次打开浏览器百度搜索,就不会再有提示了;
效果:
图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值