4

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

我一直在尝试阅读他们的代码,但我似乎找不到导致这种情况发生的行。我知道有一些方法可以检测并给用户一个禁用插件的消息,但我发现这种方法更聪明。

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

额外的问题:这将如何与 W3 Total Cache for Wordpress 之类的缓存插件一起使用?我提出这个问题是因为我想知道网站将如何处理将页面列入白名单并刷新网站的人。理论上它应该显示 CSS 和 JS,因为没有找到 Adblock,但我不确定缓存插件是否会破坏它并在没有任何 CSS 或 JS 的情况下显示以前的站点。

提前致谢。

4

1 回答 1

2

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

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

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

于 2013-05-03T20:56:07.890 回答