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

Можешь почитать и вот эту статейку "Красивое фиксированное слайд меню - Codrops"

mistakes

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

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

Ваше мнение

TWIG -что это?
Результаты

Облако тегов

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