2008-08-05 10 views

ответ

11

Поскольку такие программы, как AdBlock, на самом деле никогда не запрашивают рекламу, вам нужно будет посмотреть журналы сервера, чтобы узнать, пользовался ли тот же доступ к веб-странице, но не получил доступ к объявлению. Предполагается, что объявление размещено на одном сервере.

Если ваши объявления находятся на отдельном сервере, то я бы предложил, что это невозможно сделать.

Лучший способ помешать пользователям блокировать рекламные объявления - это иметь встроенные текстовые рекламные объявления, которые генерируются сервером и распространяются внутри вашего html.

3

Я полагаю, вы могли бы сравнить печать объявлений со страницами на своем веб-сайте (которые вы можете получить из своего программного обеспечения для аналитики).

10

Добавить идентификатор пользователя в запросе объявления:

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

таким образом вы можете проверить, какие объявления показываются с помощью которых пользователи.

4

Вам нужно подумать о различных способах блокировки рекламы. Первое, на что нужно обратить внимание, это то, что они работают с noscript, поэтому вы можете добавить скрипт, который будет проверять это.

Следующая вещь - посмотреть, блокируют ли они вспышку, этот маленький фильм должен это сделать.

Если вы смотрите на сайте Adblock, есть некоторые признаки того, как она блокирует:
How does element hiding work?

Если посмотреть дальше вниз эту страницу, вы увидите, что обычный хром зондирования не будет работать, так что вы необходимо попробовать и проанализировать измененную DOM.

4

AdBlock forum 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); 
     } 
    } 
    } 
}