简单几行代码,写一个百度广告屏蔽插件,爽到爆
下载地址:https://github.com/jsoncode/b...
使用方法:
将文件夹拖到这里面
一个小问题:
我没有境外支付信用卡>无法向谷歌支付$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);
然后每次打开浏览器百度搜索,就不会再有提示了;
效果:
简单几行代码,写一个百度广告屏蔽插件,爽到爆相关推荐
- [教你做小游戏] 用86行代码写一个联机五子棋WebSocket后端
我是HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者HullQin授权.我独立开发了<联机桌游合集>,是个网页,可以很方便的跟朋友联机 ...
- python爬虫代码1000行-简单用14行代码写一个Python代理IP的爬虫
相信用别的语言只用14行是写不出来这样的效果的!而我们的Python 只需要区区的14行代码就能写出来哦! 这就是Python为什么是全球现在比较流行的语言之一了!因为简单 容易学! 比较上手! 现在 ...
- python文本处理入门:44行代码写一个简单的藏头诗生成器
想必最近大家家庭群里最近都会看到这么一张图: 一惊,这什么玩意儿???后来一搜会发现里面不同的诗句来自于不同的古诗,嘛,这不是很好玩的一件事情吗?这次我们使用Github的唐诗宋词dataset:ht ...
- 用python60行代码写一个简单的笔趣阁爬虫!三分一章?
前言 利用python写一个简单的笔趣阁爬虫,根据输入的小说网址爬取整个小说并保存到txt文件.爬虫用到了BeautifulSoup库的select方法 结果如图所示: 本文只用于学习爬虫 一.网页解 ...
- PONG - 100行代码写一个弹球游戏
大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...
- 100行代码写一个Compose版华容道
之前写过几个 Compose 的 demo,但一直没使用到 Gesture, Theme 等特性,于是写了一个华容道的小程序来展示上述这些特性.写完后又一次被 Compose 的生产力所折服,整个程序 ...
- python3GUI--200行代码写一个上课点名程序(附源码)
文章目录 一.准备工作 1.Tkinter 2.PIL 二.预览 1.启动 2.开始点名-顺序点名 3.开始点名-随机点名 4.手动加载人名单 5.开始点名-顺序点名-Pyqt5版本 6.人名单格式 ...
- FFmpegSDL教程:用不到1000行代码写一个播放器
序 更新:本教程最近一次更新于2015年2月. FFmpeg是一个创建视频应用,甚至更通用程序的强大音视频工具库.FFmpeg能够完成视频处理过程中解码,编码,封装和解封装所有这些棘手工作.借助它,可 ...
- 如何用76行代码写一个AI微信机器人......
本期博客主要介绍如何使用 微信SDK 和 AI聊天接口 ,实现 微信机器人功能. 准备 电脑需要安装Go环境,这个可以直接参考菜鸟教程:Go 语言环境安装,知道CSDN的同学基本能在半小时内装好吧- ...
最新文章
- java 小对话框_创建Java对话框
- ptp driver Linux doc
- pandas demo 示例
- python什么时候用eval_Python:eval的妙用和滥用
- Java获取成员变量构造函数信息
- Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告
- matlab 模拟滤波器转换为数字滤波器,一种模拟滤波电路数字化方法
- Repeater 控件的嵌套使用
- ai人工智能的数据服务_建立AI系统的规则-来自数据科学家
- 标准粒子群优化算法 PSO
- 单点登录 cas 设置回调地址_单点登录终极方案之 CAS 应用及原理
- 自动驾驶领域常见专业英文名词及其含义
- python基础学习--猜拳游戏
- win10 mstsc 设置
- 利用交通实时数据和社交媒体数据对飓风疏散期间的交通需求进行预测
- C#进行CAD二次开发学习笔记-01
- 小孟网站被黑客攻击,已经哭晕在厕所……
- 明白了虹膜,你就知道人类为什么有如此多样的瞳色了
- 解决DELL台式机两用音频接口不能识别耳麦的问题
- linux 笔记本合盖不休眠设置
热门文章
- matlab simulink实例,simulink实例(有好多实例)..ppt
- tensorboard图上存在直线_高中数学必修二直线与圆:真是让我没想到,他俩的关系还挺不简单...
- linux快捷键 赋值,2_Shell语言———bash的快捷键、变量声明、引用变量及变量替换...
- html中使用地图和area,根据参数对area的颜色进行改变,AE考试题
- 字符串声明太大出现错误_搜索框输入中文出现单引号报错问题
- java8 同步队列_秋招之路8:JAVA锁体系和AQS抽象队列同步器
- mybatis 一对多_MyBatis面试题集合,90%会遇到这些问题
- Java项目:酒店管理系统(java+SSM+jsp+mysql+maven)
- boost安装_【环境搭建】源码安装Boost
- Mybatis 获取当前序列和下一个序列值 以及在一个方法中写多条SQL 语句