2008-08-05 70 views

回答

11

由於像AdBlock這樣的程序實際上從不請求廣告,因此您必須查看服務器日誌以查看同一用戶是否訪問過網頁,但是沒有訪問廣告。這是假設廣告位於同一臺服務器上。

如果你的廣告是在一個單獨的服務器上,那麼我建議這是不可能的。

阻止用戶阻止廣告的最好方法是讓內嵌的文本廣告由服務器生成並在html中播放。

3

我想您可以將廣告打印與您網站上的頁面瀏覽(您可以從分析軟件中獲取)進行比較。

10

添加的用戶ID爲廣告請求:

<img src="./ads/viagra.jpg?{user.id}"/> 

這樣你可以查看哪些廣告在哪些用戶看到。

4

您需要考慮廣告被阻止的不同方式。首先要看的是他們是否在運行noscript,所以你可以添加一個腳本來檢查它。

接下來要看他們是否阻擋閃光燈,一部小電影應該這樣做。

如果你看一下Adblock的網站,還有它是如何阻止一些提示:
How does element hiding work?

如果進一步往下看該頁面,你會看到,傳統的鍍鉻探測將無法正常工作,所以你需要嘗試解析更改的DOM。

4

AdBlock論壇says這是用來檢測AdBlock。經過一些調整後,你可以用它來收集一些統計數據。

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); 
     } 
    } 
    } 
} 
相關問題