【问题标题】:How to prevent CSS and JS to load if Adblock is detected?如果检测到 Adblock,如何防止 CSS 和 JS 加载?
【发布时间】:2012-12-23 18:13:49
【问题描述】:

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

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

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

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

提前致谢。

【问题讨论】:

  • 很抱歉我的主要语言不是英语。这是在开玩笑吗?
  • 您可以尝试在浏览器中禁用 javascript,看看它是否仍然禁用 CSS。如果不是那么,..你知道其余的:D

标签: javascript css adblock


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 2015-05-08
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多