点赞和吐糟Adblock Plus~进阶教程

前言:Adblock Plus后文都简称ABP,这是一篇ABP进阶教程!用ABP实现flashBlock和NoScript。推荐有相当基础的阅读!初学者先看懂这里:http://adblockplus.org/zh_CN/filters


先夸夸ABP,它是最流行、语法最完善严谨的过滤软件,其它同类都以它为标准!它把网络资源按以下选项分几大类:
script —— 外部脚本,由 HTML script 标签加载
image —— 正常图片,通常由 HTML 的 img 标签所载入
stylesheet —— 外部 CSS 样式文件
object —— 由浏览器插件处理的内容,例如 Flash 或 Java
xmlhttprequest —— XMLHttpRequest 对象
object-subrequest —— 插件的请求,比如Flash
subdocument —— 内嵌的页面,通常通过 HTML 的框架方式内嵌
media —— HTML5的audio,video标签指定的多媒体资源
document —— 网页本身(只适用于 例外规则 )
elemhide —— 只适用于例外规则,类似于document 但是只禁用页面上的隐藏规则而不是所有规则(需要ABP1.2 或更高版本)
other —— 其他不在上面的类型的请求

这样做好分类,才能更有针对性的过滤广告!另外还有个弹窗选项popup,如||189.cn^$popup,third-party,可阻止电信截持弹出窗口。

ABP最强大的语法还是:third-party、domain二选项和~反义符,注意~可用于域名和选项(~stylesheet很常用)。
|https://$third-party,domain=greasyfork.org,只用一条语句就阻止了greasyfork.org所有的第三方广告。|http://$script,domain=ty2016.com|eywedu.com|365essay.com就禁止N多站点的脚本,这条语句就实现NoScript。

third-party,domain选项组合简直就是神器!如
|http://$script,third-party,domain=dy1000.com|yatu.tv
雅图yatu.tv的广告脚本是网页内嵌,所以没办法直接过滤,而且其调用的广告平台也是经常变动的,但上一条语句以不变应万变,一条语句搞定N多网站的第三资源(可不止指定脚本)!有兴趣的可试验一下:把其它所有的规则都删除,只保留上一条,雅图yatu.tv还是干干净净的!

一条语句实现flashBlock:
|http://$object,domain=~youku.com|~tudou.com|~iqiyi.com|~pps.tv|~yatu.tv|~1ting.com
用flashBlock的可以删了!!

写过滤规则感到不便,希望增加一个类似^的替代符号,如
用`指代./-_等连接符。


下面吐糟ABP,或者说对ABP的期盼!
ABP办不到的事:
1、修改DOM
2、$third-party选项对三段式域名不起效(这也算是ABP的BUG吧,从源码上来说,这个功能很容易实现),但有替代方式,如|http://live.ali213.net/$domain=~live.ali213.net
3、无法过滤内嵌到网页的脚本,这倒很好理解~因为第一条
4、没有实现黑名单,如一些有危害的网站,设定网址后也不能禁止访问,只能间接用$popup选项,但也无法阻止直接从地址栏访问。

ABP for chrome的功能缺陷,或者说不如for firefox版的地方:
1、类似语法||cnzz.不支持[BUG],只能用多条匹配语句代替:
|http://cnzz.
|http://*.cnzz.*^

如要支持HTTPS协议就变四条了!
2、对object、object-subrequest二选项的支持不够,解决方法,仔细设定网址,如:
|http://*.swf^$domain=youku.com
firefox:|http://$object,domain=youku.com
,但这样做的区别还是很明显,firefox完全屏蔽播放器,chrome则显示无法加载影片。
3、[BUG]$domain设定多个域名时,若其中有三段式域名,会有失效的情况。这样的情形在世界之窗6和360极速浏览器的内置ABP表现很明显!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值