题
什么是最好的方法记录的统计数据的数量的游客参观我的网站已经设置他们的浏览器块广告吗?
解决方案
由于程序,如扩展实际上从来没有请求的广告,你会看的服务器登录来看看如果同样的用户访问的网页,但并没有访问的广告。这是假定的广告是在同一服务器上。
如果你的广告都在一个单独的服务器,那么我建议这是不可能这样做。
最好的方式来阻止用户阻止广告,是具有内嵌的文本的广告,它们所产生的服务器和抛弃在你html。
其他提示
增加的用户标识到该请求的广告:
<img src="./ads/viagra.jpg?{user.id}"/>
这样你可以检查什么的广告看到的,它的用户。
你需要考虑的不同方式的广告都被阻止。首先要看是否它们正在运行,所以你可以添加一个脚本,将检查。
接下来的事情就是看到,如果他们阻挡的闪光,一个小电影应该这样做。
如果你看的扩展网站,还有一些指示如何,它不会阻止:
如何元素隐藏的工作?
如果你看下那页,你会看到传统的铬探测不会的工作,所以你需要尝试和分析的改变DOM。
扩展论坛 说的 这是用来检测扩展.一些调整后你可以用这个收集的一些统计数据。
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);
}
}
}
}
我想你可以比较的广告印刷品,与页面浏览你的网站上(你可以获得自己的分析软件)。
不隶属于 StackOverflow