Всё больше и больше веб-мастера задаются вопросом, как же обойти блокировку баннера и вывести из строя расширение AdBlock Plus и Adguard?
Оказывается, осуществить обход блокировки баннеров можно при помощи JavaScript и HTML, используя альтернативные теги, например, DIV.
Давайте рассмотрим следующий JavaScript код (код полностью рабочий):
Вроде всё просто, не правда ли?
Давайте сделаем пример.
JavaScript:
HTML:
Вот пример:

Рабочий пример на JSfiddle.
Как видно, ни Adguard, ни AdBlock Plus баннер не заблокировали.
Встраиваем в страницу JavaScript код (можно создать js и приаттачить в шапку страницы):
И что же этот скрипт делает?
А делает он кое что прекрасное, а именно, удаляет все теги, которые были встроены расширениями Adguard и Adblock Plus.
Когда начинает работать данный скрипт?
Работать он начинает тогда, когда пользователь решит заблокировать баннер вручную, но у него это не выйдет. При попытке блокировки расширение попросту «вешается».
Нет ничего проще, чем взять обмануть да ещё и поломать расширения блокировки рекламы.
Знаю, что есть множество других решений, но я решил сделать что-то своё.
Всем удачи!
Оказывается, осуществить обход блокировки баннеров можно при помощи JavaScript и HTML, используя альтернативные теги, например, DIV.
Итак, что же нам потребуется?
- Базовые знания JavaScript;
- Базовые знания HTML.
Приступим
Давайте рассмотрим следующий JavaScript код (код полностью рабочий):
/**
@name: Banner Creater
@versoin: v. 0.4 final
@author: Mr.MEX
@site: hyperworld.ru
*/
function bannerCreater(opt){
opt = opt || {};
var h = opt.h,
w = opt.w,
link = opt.link,
img = opt.img,
title = opt.title,
target = opt.target,
attach = opt.attach,
create = true,
div = document.createElement('div'),
result = '',
words = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM',
max_position = words.length - 1,
logging = opt.logging
;
for(i = 0; i < 10; ++i) {
position = Math.floor (Math.random() * max_position);
result = result + words.substring(position, position + 1);
}
var idgen = result;
if (h == null) {
h = 60;
} else if (w == null) {
w = 468;
} else if (link == null) {
console.error('Не указана ссылка, баннер не будет создан.');
create = false;
} else if (img == null) {
console.error('Не указана ссылка на изображение, баннер не будет создан.');
create = false;
} else if (title == null) {
} else if (target == null) {
target = '_blank';
} else if (attach == null) {
console.error('Не указан id элемента, в который будет встроен баннер, баннер не будет создан.');
create = false;
} else if (logging == null){
logging = false;
}
if (create == true) {
div.setAttribute('id',idgen);
div.setAttribute('style','width:'+w+'px !important;height:'+h+'px !important;background-image:url(\''+img+'\') !important;background-repeat:repeat repeat !important;background-position:center center !important;cursor:pointer !important;');
if (title) {
div.setAttribute('title',title);
}
div.setAttribute('onclick', 'window.open(\''+link+'\', \''+target+'\')',0);
document.getElementById(attach).appendChild(div);
if (logging == true){
console.log('Успешно создан баннер для сайта '+link+' с ID: '+idgen+', размерами '+w+'x'+h+'px в блоке '+attach+'.');
}
}
}
Вроде всё просто, не правда ли?
Давайте сделаем пример.
JavaScript:
bannerCreater({
attach: 'hsBnr', // Айди куда аттачим
w: 468, // Ширина баннера
h: 60, // Высота баннера
link: 'http://coffeebreak.rusff.ru/', // Линк на сайт
img: 'http://savepic.net/5248295.png', // Изображение (не должно нести в себе 468x60, иначе блокировщик спалит)
title: 'Ролевой Каталог CoffeeBreak', // Тайтл (хинт) при наведении курсора
target: '_blank', // Таргет (режим открытия новой ссылки)
logging: true // Включить логгинг
});
HTML:
<div id="bannerContainer"></div>
<script>createBanner();</script>
Вот пример:

Рабочий пример на JSfiddle.
Как видно, ни Adguard, ни AdBlock Plus баннер не заблокировали.
Выводим из строя Adguard и AdBlock Plus в браузерах Webkit (Yandex, Amigo), Blink (Google Chrome, Opera)
Встраиваем в страницу JavaScript код (можно создать js и приаттачить в шапку страницы):
/**
@name: Anti-AdBlock for Webkit Browsers
@version: 0.2 dev. 3
@author: Mr.MEX
@site: hyperworld.ru
*/
function antiadblock(){
var var1 = $('iframe[style="visibility: visible; position: fixed !important; display: block !important; border: 0px !important; -webkit-box-shadow: rgba(0, 0, 0, 0.498039) 5px 5px 20px; z-index: 2147483647; left: 50px; top: 50px; width: 416px; height: 195px; opacity: 0.7;"]'),
var2 = $('iframe[style="visibility: visible; position: fixed !important; display: block !important; border: 0px !important; -webkit-box-shadow: rgba(0, 0, 0, 0.498039) 5px 5px 20px; z-index: 2147483647; left: 50px; top: 50px; width: 416px; height: 195px;"]'),
var3 = $('iframe[id="adguard-assistant-dialog"]'),
var4 = $('iframe[class="sg_ignore adg-view-important"]'),
div = $('div[class="__adblockplus__overlay"]'),
div2 = $('div[class="sg_border"]'),
div3 = $('div[class="sg_border sg_bottom_border"]')
;
var1.remove();
var2.remove();
var3.remove();
var4.remove();
div.remove();
div2.remove();
div3.remove();
setTimeout(function(){antiadblock();},250);
}
console.info('Скрипт Anti-AdBlock сейчас будет запущен...');
antiadblock();
console.info('Скрипт Anti-AdBlock работает.');
И что же этот скрипт делает?
А делает он кое что прекрасное, а именно, удаляет все теги, которые были встроены расширениями Adguard и Adblock Plus.
Когда начинает работать данный скрипт?
Работать он начинает тогда, когда пользователь решит заблокировать баннер вручную, но у него это не выйдет. При попытке блокировки расширение попросту «вешается».
Заключение
Нет ничего проще, чем взять обмануть да ещё и поломать расширения блокировки рекламы.
Знаю, что есть множество других решений, но я решил сделать что-то своё.
Всем удачи!