由于手机屏幕尺寸限制,通常网站手机版显示内容更加简洁,当然也就减少或者是去除了广告。但毕竟还有很多网站没有专门的手机版,或者是手机版的文字广告也占据不少空间。Opera和Google合作后,Opera mini也不再过滤Google搜索广告了。Chrome、Firefox和Opera手机版都有各自的广告过滤功能。
通用方法
- 未Root:Adblock Plus for Android;
- Root:hosts和一切可以更改hosts的工具(比如AdAway)。
Adblock Plus for Android来自大名鼎鼎的adblockplus.org。支持在非Root环境下对Wifi拦截广告(Root后支持3G环境过滤),目前只能订阅规则,不能自定义。最大的缺点是需要驻留后台,内存占用不小。
Root后可以编辑规则文件:
/data/data/org.adblockplus.android/files/patterns.ini
题外:Adblock Plus当初信誓旦旦的说不开发Chrome版,现在不仅有了Adblock plus for Chrome,还有Opera、K-Meleon。
Hosts属于万能大法了,优点、缺点都和PC上一样。Hosts只能作用于网站域名,将需要拦截的域名IP地址限制为127.0.0.0或0.0.0.0,遗憾的是不能细化。
Android默认hosts文件位置:
/etc/hosts
Chrome for Android(root)
桌面版的Chrome支持用户全局css,Chrome for Android也继承了这一特性。全局css,局限明显。但隐藏部分内容,对于手机屏幕来讲也能节约不少空间。
Custom.css位置:
/data/data/com.android.chrome/app_chrome/Default/User StyleSheets/Custom.css
PC版的Custom.css位置:
\User Data\Default\User StyleSheets\Custom.css
Firefox for Android
和桌面版一样,ABP几乎快成为Firefox的标配了。Adblock Plus扩展手机版也不支持自定义。
Root后也可以编辑规则文件:
/data/data/org.mozilla.firefox/files/mozilla/xxxxxxx.dafault/adblockplus/patterns.ini
当然还有其他支持过滤的扩展,NoScript、Stylish也都支持手机版。
Opera Mobile(欧朋HD)
Opera Mobile可以看作是PC端的Opera,广告过滤也继承了urlfilter.ini和custom.css(全局),设置方法:
- opera:config – network- url filter file,选择urlfilter.ini文件位置 – 保存;
- opera:config – user prefs – local css file,选择custom.css文件位置 – 保存。
网络上也有不少过滤规则订阅源,比如《Opera Mobile广告过滤列表订阅源》。
PC端浏览器伪装手机上网
正如开篇所说,很多网站有PC版,也有手机版,两个版本的代码是不同的。而且一些网站在不同的浏览器下CSS代码也不同,比如Google在Chrome和Opera Mobile中就有明显区别。因此不能直接套用PC版的过滤规则,还是根据自己浏览习惯自定义规则比较好。
PC端编写过滤规则也简单,只是多了一个浏览器伪装手机上网的步骤。
以Firefox为例,可以通过User Agent Switcher扩展,或者是建立“general.useragent.override”字符串等方法更改浏览器的UserAgent。详细方法参考《Firefox手动更改UserAgent,伪装成手机或其他浏览器》。
常用浏览器的User Agent String可以查阅:http://www.useragentstring.com/pages/useragentstring.php
Google官方也说明了Chrome for Android的User-Agent:https://developers.google.com/chrome/mobile/docs/user-agent
编写广告过滤规则的方法这里不再赘述。Opera mini和UC等采用云端压缩的浏览器不在讨论之列。