Adblock блокирует перенаправления iframe - как обнаружить? - PullRequest
3 голосов
/ 07 февраля 2012

У меня есть страница, которая выполняет много переадресаций внутри iframe, где цели в основном являются страницами партнерской сети (которые выполняют перенаправления в магазины и т. Д.), Разметка выглядит примерно так:

http://jsfiddle.net/HPDNC/2/

Как видите, если у вас включена блокировка рекламы, iframe не загружается.Мне нужно как-то обнаружить это, чтобы я мог эфир сделать прямое перенаправление или, по крайней мере, проинформировать пользователя о ситуации.

Обычным способом было бы просто проверить объявление или что не обнаружить, если блокировщик рекламыактивный.К сожалению, на этой странице нет реальных объявлений для проверки .

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Вы можете определить, посещается ли ваш сайт с помощью блокировщиков рекламы.В теге <head> - или в любом другом месте - введите это:

<script type="text/javascript">
window.ADS_BLOCKED = true;
</script>
<script type="text/javascript" src="/advertise/detect.js"></script>
<script type="text/javascript">
if (window.ADS_BLOCKED)
   alert('You blocked me...');
</script>

Включенный Javascript detect.js установит window.ADS_BLOCKED в false.Блокировщики рекламы будут препятствовать загрузке этого файла из-за его имени файла ("advertise").

0 голосов
/ 07 февраля 2012

Дайте iframe идентификатор, и вы сможете проверить его наличие, используя javascript.

Вот пример:

<script type="text/javascript">

if(document.getElementById("ad") == null) {
    alert("The ad has been removed!");
}
else
{
    alert("It's alright, it's still here.");
}

</script>

РЕДАКТИРОВАТЬ: только что исправил ошибку.

Это дает Javascript возможность доступа к вашему рекламному элементу. Код Javascript, который следует после (if(document.getElementById("ad") == null)), просто проверяет, существует ли элемент - если его нет, это означает, что рекламодатель удалил его.

Некоторые рекламные блокировщики (например, более ранние версии AdBlock для Chrome) просто скрывают элемент, а не удаляют его - я оставлю это как упражнение для вас, потому что я когда-либо проверял CSS на элементах DOM только через JQuery.

РЕДАКТИРОВАТЬ 2:

Используя этот ответ здесь , вы можете просто проверить, правильно ли загружен HTML-код в iframe, и ответить на основании этого.

...