许多人安装Chrome/Firefox(现在又加上了IE)的第一件事就是安装ADB/ABP,并为其强大的广告屏蔽功能所折服。但是经常会有吧友反映,为什么我的ADB/ABP没有效果了呢?其实,广告是否屏蔽与扩展本身没有很大的关系,关键在于你的规则。一般用户都会选择ChinaList EasyList,但是这个规则在一定程度上是很有限的,好多时候网页上的广告根本屏蔽不能。这个时候就是我们自己折腾的时候了。
首先,ADB/ABP都提供了简单的自定义屏蔽方法,只需要点击扩展图标,然后移动划块或单击元素即可;亦或是在图片上右键选择“屏蔽该元素”。但有时候你会发现你选择不到你想要屏蔽的元素。接下来自然就是本篇教程的核心内容了。
这里,我以Chrome31+ABP为例。首先,选中你想屏蔽的元素,可以是文字、图片任何东西,然后右键点击,选择“审查元素”
然后在网页源代码里面移动鼠标,直到页面上的小色块完全覆盖了你想要屏蔽的东西。
这样就得到了你想要屏蔽的标签属性。这里我发现我要屏蔽的标签是<div class="frs_qunzu_wrpa" style="">
这里简单介绍一下HTML标签。div是这个标签的类别,而后面的abc=”123”代表该标签具有值为123的abc属性。一般情况下一个class或者一个id就可以确定一个特定的标签,但也不尽然。
那么如何来屏蔽我们得到的标签呢?我们点击ABP图标,选择“设置选项”,然后点击自定义过滤,在这里添加过滤规则即可。
过滤规则的撰写见楼下。
这里我可以给一个通解。如果你想屏蔽tieba.baidu.com上的<div class=”123” id=”456”>,可以使用以下规则
tieba.baidu.com##DIV[class=”123” id=”456”]
当然一般情况下class和id添一个就可以。建议优先选择id,因为这样匹配率比较高。
或者你可以使用这样的规则:
tieba.baidu.com##.123
这个规则会屏蔽页面上所有class值是123的东西,一般就是我们想要屏蔽的内容/
或者
tieba.baidu.com###456
会屏蔽页面上所有id值是456的东西。
其实,简单来说,可以这样写规则,审查元素之后,鼠标移动到需要屏蔽的元素的代码上,于是网页上就会显示div.ooxxoo然后大小是多少的,直接载adb上写网址##刚刚看到的div,一般都可以了
我们还是以上面的那个“贴吧群组”为例。我可以在规则里面添加tieba.baidu.com##DIV[class=”frs_qunzu_wrpa”],或者简单一点添加tieba.baidu.com##.frs_qunzu_wrpa。点击添加之后刷新贴吧页面。
哇,群组被屏蔽了耶!好神奇是不是!
此外,过滤规则还支持统配,比如可以用*.baidu.com##.123这样的规则。详情可以参见屏蔽规则的官方说明。
如果你有服务器或者BAE这样的东西,还可以自定义一个过滤清单,格式请参考cyanidea.com/p/rules/standard.txt。然后可以在ABP设置界面添加这个过滤清单。
你也可以为你的清单创建快捷添加链接,格式可以参考这个——abp:subscribe?location= http://cyanidea.com/p/rules/standard.txt&title=CyanList
如果你有服务器或者BAE这样的东西,还可以自定义一个过滤清单,格式请参考cyanidea.com/p/rules/standard.txt。然后可以在ABP设置界面添加这个过滤清单。
你也可以为你的清单创建快捷添加链接,格式可以参考这个——abp:subscribe?location= http://cyanidea.com/p/rules/standard.txt&title=CyanList
到此结束。顺便打个广告:我的过滤清单在cyanidea.com/p/rules,大家可以订阅。
添加一条,ABP/ADB还可以用网址屏蔽,比如
http://tieba.baidu.com/*.jpg或者*.js(只是举个例子,这两条规则应该都没有效果)。其他的规则就参考官方的文档吧