xyb_yuan 发表于 2021-9-22 11:31:35

用油猴和adblock过滤广告有什么区别?

两者用同样的选择器过滤元素,发现adblock是压根这个元素就不显示。而油猴是先显示出来,待加载完毕再消失。
两者的过滤原理有什么不同?

王一之 发表于 2021-9-22 11:31:36

油猴也能更针对性的去除广告,例如某些网站有js识别adblock,如果广告被去除了,可以提示,甚至禁止访问。

油猴脚本可以反制,去掉这个提示。adblock类插件是做不到的。

李恒道 发表于 2021-9-22 11:57:48

@王一之 可能更擅长一点
我没用过瞎比比一下
如果是网络拦截过滤的话可能比较有优势,可以直接在获取数据的时候就直接ban掉
如果是设置css之类的理论上来说跟油猴没差距的?

cxxjackie 发表于 2021-9-22 12:03:42

注入时机的问题吧,脚本如果在document-start注入css,那效果也跟adblock差不多,不过adblock除了应用css规则来过滤,还会拦截一些广告js,这点用脚本就不好实现(或许脚本猫可以提供一个API?),而js文件被拦截了,体感上就会觉得元素都没显示就被屏蔽了,其实是根本没加载进来。

xyb_yuan 发表于 2021-9-22 12:04:31

adblock用起来简单,就是添加过滤规则太不方便了。好像没有分组功能。

王一之 发表于 2021-9-22 13:42:10

cxxjackie 发表于 2021-9-22 12:03
注入时机的问题吧,脚本如果在document-start注入css,那效果也跟adblock差不多,不过adblock除了应用css规 ...

我记得tm好像有个网络拦截的声明?

cxxjackie 发表于 2021-9-22 18:57:00

王一之 发表于 2021-9-22 13:42
我记得tm好像有个网络拦截的声明?

应该没有吧,我没印象,拦截我一般用自定义adblock规则,替换的话得别的插件实现。

gafish 发表于 2021-9-25 22:40:07

一个是从浏览器插件层去解决问题,一个是从页面渲染层去解决问题,执行的时机不同

xyb_yuan 发表于 2021-9-28 13:44:29

王一之 发表于 2021-9-22 13:52
油猴也能更针对性的去除广告,例如某些网站有js识别adblock,如果广告被去除了,可以提示,甚至禁止访问。
...

这个我真遇到过。浏览过一个网站,因为我用了adblock,所以提示“检测到您开启了adblock,请关闭后再试”。想知道他是怎么检测到的? 油猴脚本也能被检测到吗?

王一之 发表于 2021-9-28 13:46:11

xyb_yuan 发表于 2021-9-28 13:44
这个我真遇到过。浏览过一个网站,因为我用了adblock,所以提示“检测到您开启了adblock,请关闭后再试” ...

最简单的,直接js看一下他们的广告是否还在页面上(querySelect),没有就说明被屏蔽了
页: [1]
查看完整版本: 用油猴和adblock过滤广告有什么区别?