Хаки и Скрипты Next Generation CMS

Просим отключить AdBlock

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

Можешь почитать и вот эту статейку "Асинхронная загрузка CSS"

Опрос

Ваше мнение

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

Последние комментарии

Теги

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

Статистика

  • Caйту: 4426 дней
  • Новостей: 566
  • Комменты: 257
  • Зарегистрированно : 665
  • Онлайн всего: [5]
  • Гости: [4]
  • Поисковики: [1] Google
  • Были сегодня : [2] Яндекс, Google
  • SQL запросов: 31
  • Генерация страницы: 0.291сек
  • Потребление памяти: 5.160 Mb 
  •   Яндекс.Метрика