如果检测到Adblock,如何防止加载CSS和JS?

时间:2012-12-23 18:13:49

标签: javascript css adblock

最近,我发现了一个在启用了Adblock的朋友计算机上销售添加(http://buysellads.com/)的网站,该网站似乎检测到了浏览器插件,并禁用了CSS和JS。

我一直在尝试阅读他们的代码,但我似乎找不到能够实现这一目标的界限。我知道有一些方法可以检测并向用户发送禁用插件的消息,但我发现这种方式更加聪明。

如果有人知道或找到触发并执行的代码,我感激不尽。

奖金问题:如何使用像Word3的W3 Total Cache这样的缓存插件?我提出这个问题是因为我想知道该网站如何将该页面列入白名单并且网站刷新。从理论上讲,它应该显示CSS和JS,因为找不到Adblock,但我不确定缓存插件是否会破坏它并显示之前没有任何CSS或JS的网站。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我不知道这个特定网站是如何做到的,但有一种可能性是通过Adblock阻止的广告投放系统添加/加载JS和CSS文件(在广告展示位置加载样式和脚本标记)

根据Adblock的工作方式,将文件托管在ads.your-domain.com或banner.your-domain.com等子域上就足够了。

然后,您可以在包含整个页面的包装器上设置带有内联样式的display = none,并在包装​​器外部的元素上设置display = block,其中包含给用户的消息。然后,通过广告投放系统加载的CSS文件可以更改这两个元素的显示属性(因此没有Adblock的用户会获取页面内容而不是消息)。