【问题标题】:How to detect adblock type如何检测广告拦截类型
【发布时间】:2015-02-16 13:10:04
【问题描述】:

我在this 问题上看到可以通过诸如

之类的方式检测到 AdBlock
function blockAdblockUser() {
    if ($('.myTestAd').filter(':visible').length == 0) {
        // All are hidden, or "not visible", so:
        // Redirect, show dialog, do something...
    } else if ($('.myTestAd').filter(':hidden').length > 0) {
        // Maybe a different error if only some are hidden?
        // Redirect, show dialog, do something...
    }
}

但是,有什么方法可以检测此人正在使用的 AdBlock 的类型吗?

【问题讨论】:

  • 如果您打算隐藏内容,那么相信我用户不会喜欢这样的。就个人而言,如果我真的想查看该网站,我会毫不犹豫地编写用户脚本或添加更多规则来禁用您拥有的任何广告拦截检测。
  • @simonzack,不,我不想隐藏内容。我只是想看看用户使用的是什么类型的广告拦截器。

标签: adblock


【解决方案1】:

不可靠。广告拦截器的设计并不易于检测和区分。此外,在客户端运行的代码是fundamentally unsafe;如果它打扰到高级用户,或者如果开发广告拦截器的人认为它可能被用来打扰某人,那么高级用户可以并且将会颠覆它。

您可以通过更改广告名称(或使用拦截器可能拦截或不拦截的虚假“广告”)来辨别用户拦截了哪些模式列表,但这些信息会迅速老化,因为大多数此类名单经常更新。出于兼容性原因,其中一些将虚假广告列入白名单。

【讨论】:

    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 2016-08-22
    • 2018-10-20
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多