Как отображать фон за рекламой только при включенной блокировке рекламы?

Я пытаюсь отобразить фоновое изображение, где обычно размещается объявление размером 300x250, но только когда блокировка рекламы блокируется рекламным блоком. Кто-нибудь знает, как это можно сделать? Использование div заставляет фон показываться перед загрузкой рекламы, которая мне не нужна.

Спасибо

3 ответа

Так как программное обеспечение adblock установлено на компьютере посетителя, нет никакого способа узнать, заблокирована ли реклама (о которой я могу думать). Но, поскольку реклама отображается с помощью JavaScript - который нацелен и заблокирован специально программным обеспечением adblock - вы можете написать JavaScript, который проверяет, были ли объявления загружены в конце страницы, и, если нет, добавить класс CSS на ваш div показывая фоновое изображение, которое вы хотите. Псевдокод:

<style type="text/css">
     .adblocked { background: url("img/no-ad.jpg") left top no-repeat; }
</style>

<div id="ad"></div>

<script src="ads.js"></script>
<script>
    if (typeof adLibraryName === "undefined") {
        // ad stuff was not loaded
        document.getElementById("ad").className += " adblocked";
    }
</script>

Это, как заявил MAXIM, не имеет ничего общего с PHP, и вы никак не можете заставить его работать с PHP, потому что PHP работает на сервере и не знает, установлена ​​ли блокировка рекламы. Проще говоря, все это является проблемой на стороне клиента.

Проверить, не заблокирован ли Adsense, и, следовательно, загрузить альтернативный контент в рекламные контейнеры.

if (typeof (window.google_jobrunner) == 'undefined') {

// Adsense блокируется, загружаем что-то еще в контейнеры

}

Хорошая идея установить высоту контейнеров с помощью CSS, если вы делаете это.

Вы можете проверить, что Adblock Plus блокирует в Firefox, выбрав "Открыть блокируемые элементы".

Adblock Plus также блокирует изображения с общими размерами рекламы в именах файлов, например, "what_468x60.png", вероятно, будет заблокировано.

Поскольку вы пометили свой вопрос PHP, я отвечу с помощью очков php: проблема в том, что блокировка рекламы выполняется на стороне клиента, добавление div через php на стороне сервера. Таким образом, вы сначала должны знать, что происходит на стороне клиента, а затем составлять ваш код - но это не сработает. Вероятно, вы все еще можете сделать это с помощью AJAX-запроса, но это будет означать, что вы сначала отправите страницу, не зная, активирован ли в любом случае adblock...

ура, ±…

Другие вопросы по тегам