在Adblock Plus 过滤规则
里有这么一段
有时您可能会发现无法阻挡某些内嵌在网页中的文字广告。如果查看源码的话,可能发现类似这样的代码:
<div class="textad">
Cheapest tofu, only here and now!
</div>
<div id="sponsorad">
Really cheap tofu, click here!
</div>
<textad>
Only here you get the best tofu!
</textad>
因为您必须下载页面的内容,所以您也必须下载这些广告。对于这种情况,您可以做的就是把这些广告藏起来,这样您就不会看到他们了。这也就是元素隐藏的意义所在。
上面代码中的第一则广告是在一个 class 属性为“textad”的 div 容器内。过滤规则##div.textad 。 这里的 ## 表明这是一条元素隐藏规则,剩下的就是定义需要隐藏元素的选择器,同样的,您可以通过他们的 id 属性来隐藏 ##div#sponsorad 会隐藏第二个广告。您不需要指定元素的名称, 过滤规则 ##*#sponsorad 同样也可以。您也可以仅指定要阻挡的元素名称来隐藏,例如:##textad 可以隐藏第三则广告。
看起来很复杂是不是?其实很简单,举个例子:
威锋网是果粉的聚集地,但是逛论坛会出现这样的不爽的情况:
![](https://img.haomeiwen.com/i530140/51c4fe250e946fc2.png)
可以看到,新闻横幅和广告占了大半个屏幕,我们必须翻一页才能看到正文,有了Adblock Plus,现在你可以这样:
- 第一步:右键左上角图片,选择“审查元素”
![](https://img.haomeiwen.com/i530140/c94fd7502737ebc8.png)
如下图,可以看到:img 标签对应的URL就是右键点击的图片。但是咱不仅要屏蔽这一个图片,还要屏蔽整个轮播图,怎么办呢?
鼠标指针顺着红色箭头移动,直到网页高亮区域刚好完全覆盖到你想屏蔽的那一块,可以看到:1处的div(img的父父…节点)就是你想要屏蔽的区域,现在你只需记住这两个参数: id="bbs_top_news" class="wrap top_news top_news"
好了,依据官方的屏蔽语法,就可以这样写自己的屏蔽规则:
##div#bbs_top_news
或者##div.top_news
(理论上应该是##div. wrap top_news top_news
,但是因为中间有空格不知道为什么不行,试了下只取top_news
这一个单词也行 -_-|||)
![](https://img.haomeiwen.com/i530140/4a9756853eb5dacd.png)
- 第二步:点击Chrome浏览器的AdblockPlus插件,选择“设置”
![](https://img.haomeiwen.com/i530140/8c02a5002d217146.png)
- 第三步:填写并添加过滤规则:
![](https://img.haomeiwen.com/i530140/b01d7af6f652a348.png)
重新刷新下网页,看看屏蔽后的效果:
![](https://img.haomeiwen.com/i530140/9dd18435f31c2d4e.png)
咦,还有一个广告没去掉?别急,再次右键审查元素,如下图。
![](https://img.haomeiwen.com/i530140/57cd27a11f6974e0.png)
可以看到这个div(img的父节点)既没有class,也没有id,那该怎么办呢?
根据Adblock Plus的基本过滤规则,添加如下规则即可:
http://yes1.feng.com/*
再次刷新网页,是不是清爽了不少?好了,就说这么多吧,感兴趣的同学可以研究研究其他的高级用法
网友评论