2013-07-05 4 views
2

Я пытаюсь показать div, если посетители используют adblock.показать изображение, если блоки adblock adsense

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

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

Так что мне любопытно, как я могу показать div вместо объявления AdSense, в частности?

То, что я пытаюсь до сих пор, которое имело некоторый успех, - это увидеть, если в контейнере объявлений нет высоты, а затем отображается всплывающее окно (получен код из учебника онлайн). Но я не хочу, чтобы всплывающее окно просто отображало div в том же месте, что и объявление.

<script type="text/javascript"> 
    function TestPage() { 
     if ($('.ad').height() == 0) 
      $('.adblocked').show(); 

    } 

    $(TestPage); 
</script> 

выше не работает, чтобы показать DIV, но он определяет, когда объявления будут заблокированы, только возникают проблемы, показывая, что DIV .adblocked в этом месте.

+1

взгляд в эту http://idahospuds.blogspot.co.il/2013/03/how-to-detect-block-ads-using-google.html – raam86

+0

Спасибо, что прочитанный через, я очень новичок в этом, поэтому я надеялся на проведение учебника с небольшими ожиданиями в отношении знания js. – HelloWorld

ответ

1
<script type="text/javascript"> 
    function TestPage() { 
     if (jQuery('.ad').height() == 0) 
      document.getElementById("test").className += " adblocked"; 

    } 

    jQuery(TestPage); 
</script> 

Получил его на работу; некоторые части нескольких учебников помогли мне туда добраться.

Если кто-то пытается сделать это вот что я сделал:

Несколько ответов здесь и учебники онлайн предложил пытается выяснить, если объявление было «заблокировано» или не загружен, получая adlibraryname или что-то эквивалентное , Я понятия не имел, как это найти, поэтому я сделал это с высоты.

Я положил div вокруг объявления под названием .ad, а в функции jquery выше он смотрит, будет ли высота div равна 0 (объявление не загружено). в том же основном рекламном блоке (.ad завернут в родительский div, давайте назовем его #wrap) Я положил еще div по имени #test.

В моей таблице стилей я сделал еще один div под названием .adblocked, который имеет background-image с приятным сообщением для людей, занимающихся блокировкой рекламы.

По существу, когда объявление заблокировано, оно заполняет #test.adblocked.

Вот скрипка: http://jsfiddle.net/VZdzX/ (изменить высоту .ad, чтобы увидеть)

Теперь моя единственная забота ли это или нет будет вызывать .adblocked если фактическое объявление не блокируются, но только с тех пор, чтобы загрузить ...

2

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

<script type="text/javascript"> 

function TestPage() { 
if (jQuery('.ad').height() == 0) { 
    document.getElementById("test").className += " adblocked"; 
} 
} 

jQuery(document).ready(function() { 
window.setTimeout('TestPage()', 3000); 
} 

</script>