Наш генеральный спонсор - gamblingstore.ru предлагает готовые игровые решения и услуги для создания собственных проектов
большое спасибо!Многие продвинутые пользователи знают о такой программе как AdBlock plus. Поставив такой плагин на свой браузер, вы можете раз и навсегда распрощаться с назойливой рекламой на сайтах. Вроде бы все идеально, зачем же с ним бороться? Если вы просто пользователь, то пожалуй бороться и не нужно. Но что делать, если вы вебмастер? Ведь подобные плагины забирают ваш "хлеб".
В этой статье я расскажу вам, как показывать предупреждение пользователю, с просьбой отключить или добавить ваш сайт в исключение плагина AdBlock plus. Этот вариант подходит добропорядочным вебмастерам, которые не злоупотребляют рекламой на своем сайте.
Кто-то называет этот метод анти AdBlock, кто-то AdBlock детектор, но суть от этого не меняется.
Шаг 1
Подключаем скрипт. Для этого в вашем шаблоне перед тегом "</head>" добавляем строчку:
<script src="ссылка сайта.ру/script.js"></script>
Путь к скрипту вставляете свой.
Шаг 2
Вашу рекламу, которую нужно "защитить" от AdBlock, окружаем следующим тегом "div"
Чтобы настроить красивое отображение предупреждения, нужно изменить стили. Для этого открываем файл со стилями (прим. style.css) и добавляем в конце:
- <div class="adb">
- Рекламный код, который защищаем
- </div>
Где настраиваем все под себя. Для этого нужно хоть немного знать css разметку.
- .adb{
- width:800px;
- margin:20px auto;
- }
Шаг 3
Не забыли про скрипт, который подключили в Шаге 1 ? Теперь нужно его создать. Для этого в корне (или где вам удобнее) создаем файл с названием и расширением: "script.js". Открываем его и вставляем следующий код:
- var ads ="adb";
- var msg ='<div style="border: 1px dashed #f00; padding: 5px; width:800px; color:#000000 !important; margin:20px auto;"><p style="text-align:center;margin:0;"><b>Adblock Detected</b></p><p style="text-align:justify;margin:0;">Отключите пожалуйста AdBlock</p></div>';
- onload=function(){
- if(document.getElementsByClassName == undefined){
- document.getElementsByClassName =function(className)
- {
- var hasClassName =newRegExp("(?:^|\\s)"+ className +"(?:$|\\s)");
- var allElements = document.getElementsByTagName("*");
- var results =[];
- var element;
- for(var i =0; (element = allElements)!=null; i++){
[*]var elementClass = element.className;
[*]if(elementClass && elementClass.indexOf(className)!=-1&& hasClassName.test(elementClass))
[*]results.push(element);
[*]}
[*]return results;
[*]}
[*]}
[*]blocked =0;
[*]var ad_nodes = document.getElementsByClassName(ads);
[*]for(i in ad_nodes){
[*]if(ad_nodes.offsetHeight ==0){
[*]blocked =1;
[*]ad_nodes.innerHTML = msg;
[*]}
[*]}
[*]}
Настроить отображение блока можно в функции "var msg"
Принцип работы скрипта в следующем:
Скрипт проверяет размер (а именно высоту) всех рекламных блоков. Если высота блока равна нулю, значит он заблокирован, а значит "бьем тревогу".
Скачать скрипт: Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться.
Удачного пользования!