我如何判断一个Web客户端是否阻止了广告?

记录访问我的网站的访问者数量的最佳方式是将浏览器设置为阻止广告的最佳方式是什么?

0
额外 编辑
意见: 1

5 答案

由于像AdBlock这样的程序实际上从不请求广告,因此您必须查看服务器日志以查看同一用户是否访问了网页,但未访问广告。这是假设广告位于同一台服务器上。

如果你的广告是在一个单独的服务器上,那么我建议这是不可能的。

阻止用户阻止广告的最好方法是让内嵌文本广告由服务器生成并在html中播放。

0
额外

我想您可以将广告打印与网站上的页面浏览量进行比较(您可以从分析软件中获取该浏览量)。

0
额外

AdBlock forum says this is used to detect AdBlock. After some tweaking you could use this to gather some statistics.

setTimeout("detect_abp()", 10000);
var isFF = (navigator.userAgent.indexOf("Firefox") > -1) ? true : false,
    hasABP = false;

function detect_abp() {
  if(isFF) {
    if(Components.interfaces.nsIAdblockPlus != undefined) {
      hasABP = true;
    } else {
      var AbpImage = document.createElement("img");
      AbpImage.id = "abp_detector";
      AbpImage.src = "/textlink-ads.jpg";
      AbpImage.style.width = "0";
      AbpImage.style.height = "0";
      AbpImage.style.top = "-1000px";
      AbpImage.style.left = "-1000px";
      document.body.appendChild(AbpImage);
      hasABP = (document.getElementById("abp_detector").style.display == "none");

      var e = document.getElementsByTagName("iframe");
      for (var i = 0; i < e.length; i++) {
        if(e[i].clientHeight == 0) {
          hasABP = true;
        }
      }
      if(hasABP == true) {
        history.go(1);
        location = "http://www.tweaktown.com/supportus.html";
        window.location(location);
      }
    }
  }
}
0
额外

您需要考虑广告被阻止的不同方式。首先要看的是他们是否在运行noscript,所以你可以添加一个脚本来检查它。

接下来要看他们是否阻挡闪光,一部小电影应该这样做。

If you look at the adblock site, there is some indication of how it does blocking:
How does element hiding work?

如果你仔细看看那个页面,你会发现传统的chrome探测器不起作用,所以你需要尝试和解析修改过的DOM。

0
额外

将用户ID添加到广告请求中:


这样你就可以检查哪些用户看到了哪些广告。

0
额外