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