內文 :
如果要偵測網友是否使用了 adBlock 之的擋廣告程式,以下有三種方法

方法一
步驟1: 做一個稱為 ads.js 檔案,LHpqTQsyASuO這個id名稱是隨便取的,這麼複雜的目的只是不想和網頁任何其他id衝突到。內容如下:
document.write('<div id="LHpqTQsyASuO" style="display:none">an advertisemen</div>');

 

步驟2: 在網頁裏面,內嵌入以下的程式碼:
<script type="text/javascript" src="ads.js"></script>
<script type="text/javascript">
if (document.getElementById("LHpqTQsyASuO") == undefined)
{
  alert('TEXT TO DISPLAY IF ADBLOCK IS ACTIVE'); /*這裏可以改成你想執行的動作*/
}
</script>

方法二
步驟1: 做一個稱為 advert.js 檔案,內容如下:
var canRunAds = true;

 

步驟2: 在網頁裏面,內嵌入以下的程式碼:
<script type="text/javascript" src="ads.js"></script>
<script type="text/javascript">
if( window.canRunAds === undefined ){
  alert('TEXT TO DISPLAY IF ADBLOCK IS ACTIVE''); /*這裏可以改成你想執行的動作*/
}
</script>

方法一可以偵測到adblock,但是偵測不出新版的ublock,考慮到ublock用戶愈來愈多趕上adblock的趨勢,我不建議方法一。
方法二的程式看起來較簡潔一點,也可以偵測到ublock,可以用。可是實測下,方法二的缺點是比方法一在開網頁時還要慢。
兩難啊........但考慮盡量不要出現錯誤的情況下,我推薦採用方法二