Как отображать фон за рекламой только при включенной блокировке рекламы?
Я пытаюсь отобразить фоновое изображение, где обычно размещается объявление размером 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...
ура, ±…