Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中使用gpt回调检测Adblocker_Javascript_Double Click - Fatal编程技术网

javascript中使用gpt回调检测Adblocker

javascript中使用gpt回调检测Adblocker,javascript,double-click,Javascript,Double Click,我已经看到了一些方法来检测用户是否启用了广告阻止,例如加载ads.js文件并在加载后更改变量。有没有一种方法可以简单地在google双击gpt回调中检测到这一点 基本上,我只是想调查一些广告视图差异,看看有多少没有看到广告的用户启用了广告拦截器。我注意到,我正在尝试使用两个广告阻止程序,gpt回调仍被触发,iFrame加载了空的body标记。还没有找到在gpt中检测广告块的方法。我修改了加载ads.js文件时看到的另一个解决方案。下面我将加载ads.js,然后从同一服务器加载另一个外部文件,以调

我已经看到了一些方法来检测用户是否启用了广告阻止,例如加载ads.js文件并在加载后更改变量。有没有一种方法可以简单地在google双击gpt回调中检测到这一点


基本上,我只是想调查一些广告视图差异,看看有多少没有看到广告的用户启用了广告拦截器。我注意到,我正在尝试使用两个广告阻止程序,gpt回调仍被触发,iFrame加载了空的body标记。

还没有找到在gpt中检测广告块的方法。我修改了加载ads.js文件时看到的另一个解决方案。下面我将加载ads.js,然后从同一服务器加载另一个外部文件,以调用函数来跟踪用户是否启用了广告拦截器。这可以通过settimeout来完成,但我觉得这样做可以减少在没有加载ads.js的情况下遇到异步问题的机会。如果你要用这个,我必须去掉一个品牌名称

内联js

adblockInit.js

html

此方法用于脚本阻止ad阻止程序

  // Adblock detection with external file.
  var adsEnabled = false;
  adBlock = function() {
    // Omniture reporting for ad blocking.
    if(!adsEnabled) {
      document.getElementById('ad-blocker').innerHTML = '<div class="alert alert-box">Ad blocker enabled, no ads should appear.</div>';
      // Omniture ad block var to false.
    } else {
      document.getElementById('ad-blocker').innerHTML = '<div class="success alert-box">Ad blocker disabled, you should see ads.</div>';
      // Omniture ad block var to true.
    }
  };
  // Ad blockers will block this file.
  document.write('<scr' + 'ipt type="text/javascript" src="/js/ads.js"><\/scr' + 'ipt>');
  // adBlock() is called from an external file to prevent async issues.
  document.write('<scr' + 'ipt type="text/javascript" src="/js/adblockInit.js"><\/scr' + 'ipt>');
adsEnabled = true;
adBlock();
<div id="ad-blocker">No data.</div>
<script src="http://www.googletagservices.com/tag/js/gpt.js" onload="callback()" onerror="error()"></script>

function callback() {
  // in this case you will need to verify the gpt object isn't blank for some ad blockers in chrome
}

function error() {
  // most script blocking ad blockers will end up here.  All script blocking ad blockers (ghostery, disconnect) I have seen in firefox end up here.
}