阅读:7322回复:17
[感想]屏蔽广告
adblock启用的时候似乎占用内存很大,我个人觉得不如用原始的方法:
http://people.linux.net.cn/holywen/onli ... ck-cn.html 这样加了之后,广告基本就绝迹了。 等遇到很难对付的网页了,再打开adblock也不迟。 |
|
1楼#
发布于:2005-07-23 19:22
当你达到可以完全对于那些广告无动于衷的时候,你已经是个世界冲浪冠军了,我正在努力中...
|
|
2楼#
发布于:2005-07-23 19:22
不是我說你,你的那個鏈接打開得很慢!
|
|
|
3楼#
发布于:2005-07-23 19:22
下载然后隐藏广告,比不下载广告占更少资源?不会吧。
|
|
|
4楼#
发布于:2005-07-23 19:22
不是我說你,你的那個鏈接打開得很慢!
|
|
|
5楼#
发布于:2005-07-23 19:22
|
|
6楼#
发布于:2005-07-23 19:22
效果不甚理想
|
|
7楼#
发布于:2005-07-23 19:22
|
|
8楼#
发布于:2005-07-23 19:22
楼主的方法不太好用…
是很不好用… 一點都不好用… 真的不好用… 太不好用了… |
|
|
9楼#
发布于:2005-07-23 19:22
...这样加了是先下载然后隐藏吗?请说明白点好吗?... 你的方法是用 css 把符合定义的内容 (广告) 隐藏,但隐藏的广告仍然会被下载。这是 gecko (FF) 及 trident (IE) 的缺点,Presto (opera) 便不会下载隐藏了的内容。 下载了及隐藏了的广告会继续占用内存,部分 flash 更会继续耗用大量 cpu。一般内容过滤 (例如 AdBlock) 是根据过滤规则,把下载广告的要求拦截了,所以广告不会被下载,亦不会占用内存及cpu。 当然内容过滤本身会占用多少内存及cpu,但比起 css 的隐藏方法效率应该高很多。 |
|
|
10楼#
发布于:2005-07-23 19:22
但是感觉上userContent.css确实要比Adblock快。Adblock更为强大灵活。
原因可能在于Adblock在FF准备下载网页、图片和Flash等)时都要对目的地址进行规则匹配,对网页下载影响比较大。而现在网络的状况是网页下载时间和网页渲染时间都非常的快。 userContent.css确实隐藏的广告仍然会被下载,但是display:none的效果还是很明显,被隐藏的gif和一些Flash的内存及cpu占用多少还是会减少。 |
|
11楼#
发布于:2005-07-23 19:22
因为用正则表达式时容易不自觉地加入了大量规则,例如:
/(1|2|3|4|5|6|7|8|9|0).*(1|2|3|4|5|6|7|8|9|0).*(1|2|3|4|5|6|7|8|9|0)/ 就等如 1000 条 (10x10x10) 通配符规则了。 用通配符加入每条规模都十分鲜明,例如加入 *abc*1*2* 就是一条规则。 但如果把上面的正则表达式改成: /(1|2|3|4|5|6|7|8|9|0|abc).*(1|2|3|4|5|6|7|8|9|0).*(1|2|3|4|5|6|7|8|9|0)/ 添加的就是 100 条规则了。 |
|
|
12楼#
发布于:2005-07-23 19:22
正则表达式规则的计数应该按照表达式的条数和长度来计算吧。
如果把正则表达式和通配符比,似乎贬低了正则表达式 |
|
13楼#
发布于:2005-07-23 19:22
通配符 (shell expression) 与正则表达式 (regular expression) 都是表达式。
内容过虑做的是配对比较。假设你的规则是含 123 或含 abc 两组关键字,你如何表达这规则? 用 shell expression 你要分开写: *123* *abc* 用 regular expression 你可以写成: /.*123.*/ /.*abc.*/ 或一次过写成: /.*(123|abc).*/ 但这只是表达方式的不同,你可以视为 1 个规则或 2 个规则,但你始终仍然要对 2 组关键字,123 和 abc,分别做配对。 正则表达式虽然能提供提供较高准确度及灵活性,但使用大量 meta character 会做成复杂运算,影响速度。 在添加/整理 adblock 规则时,尽量选择具代表性字串而减少不必要的 meta character,及避免在同一规则前后多处使用"|",都可加快 adblock 的过滤速度。 |
|
|
14楼#
发布于:2005-07-23 19:22
|
|
上一页
下一页