• 310
  • 0
  • Адаптировал: irbees2008
  • Уровень сложности исполнения: нужны навыки css html

Всем привет. Сегодня разберем тему блокировщиков рекламы AdBlock и тому подбное. Как знаете эти расширения блокируют работу рекламных блоков, принципы у них разные. Вот несколько решений для владельцев сайтов, но я не советую применять это, если сайт интересный то пользователь сам будет отключать адблок.

Ну вариант 1 .
Скрываем весь сайт заставкой , можно распугать всех посетителей.
Скачиваем архив Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем. , распаковываем.
Загружаем файл adBlock.html в корень вашего сайта.
Файл adBlock.js в папку js вашего шаблона или тоже в корень как желаете,

В main.tpl подключаем файлы скрипта,

Код:
<script type="text/javascript" src="{{ tpl_url }}/js/adBlock.js"></script>

Строки кода выше добавляемым до закрывающих тегов < / head >< body >

Вариант 2
Показываем предупреждение пользователю, с просьбой отключить или добавить ваш сайт в исключение плагина AdBlock plus. Этот вариант подходит добропорядочным вебмастерам, которые не злоупотребляют рекламой на своем сайте.

1.Подключаем скрипт. Для этого в вашем шаблоне перед тегом "" добавляем строчку:
Код:
<script src="{{ tpl_url }}/js/script.js"></script>

2.Рекламу, которую нужно "защитить" от AdBlock, заключаем в блок
<div class="adb">
Рекламный код, который защищаем
</div>


Добавляем стилей:
Код:
.adb{
width:800px;
margin:20px auto;
}

3.Создаем файл с названием и расширением: "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".Ну сам принцип работы скрипта : скрипт проверяет размер (а именно высоту) всех рекламных блоков. Если высота блока равна нулю, значит он заблокирован, а значит "выводим просилку".
Есть еще варианты, можете погуглить.

Можешь почитать и вот эту статейку "Плагин "downloadcounter""

mistakes

Это тоже интересно

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Ваше мнение

Как вам наш дизайн сайта?
Результаты

Облако тегов

Anything in here will be replaced on browsers that support the canvas element