Скрипт, скрывающий контент от пользователей, использующих adblock
Это конечно радикальный способ. Вебмастера, которые устанавливают себе такие скрипты, оправдывают себя тем, что им не нужны такие пользователи, которые не хотят смотреть рекламу. С одной стороны они правы, так как наполнение и поддержание сайта – это большой труд + денежные затраты. Однако, вы должны учитывать также и то, что использование такого скрипта ухудшит поведенческие факторы, и возможно вам придется заплатить за это снижением в выдаче.
Как установить такой скрипт anti adblock:
- В виджет HTML / Javascript на Blogger (Blogspot) или в виджет Текст на WordPress нужно вставить следующий код:
<style>#g207{position:fixed!important;position:absolute;top:0;top:expression
((t=document.documentElement.scrollTop?document.documentElement.scrollTop:document
.body.scrollTop)+"px");
left:0;width:100%;height:100%;background-color:#fff;opacity:0.9;filter:alpha(opacity=90);display:block}#g207 p{opacity:1;filter:none;font:bold 16px Verdana,Arial,sans-serif;text-align:center;margin:20% 0}#g207 p a,#g207 p i{font-size:12px}#g207 ~ *{display:none}</style><script>(function(w,u){var d=w.document,z=typeof u;function g207(){function c(c,i){var e=d.createElement('i'),b=d.body,s=b.style,l=b.childNodes.length;if(typeof i!=z){e.setAttribute('id',i);s.margin=s.padding=0;s.height='100%';l=Math.floor(Math.random()*l)+1}e.innerHTML=c;b.insertBefore(e,b.childNodes[l-1])}function g(i,t){return !t?d.getElementById(i):d.getElementsByTagName(t)};function f(v){if(!g('g207')){c('<p>Для просмотра сайта отключите Adblock или включите JavaScript! </p>','g207')}};(function(){var a=['Adrectangle','PageLeaderAd','ad-column','advertising2','divAdBox','mochila-column-right-ad-300x250-1','searchAdSenseBox','ad','ads','adsense'],l=a.length,i,s='',e;for(i=0;i<l;i++){if(!g(a[i])){s+='<a id="'+a[i]+'"></a>'}}c(s);l=a.length;for(i=0;i<l;i++){e=g(a[i]);if(e.offsetParent==null||(w.getComputedStyle?d.defaultView.getComputedStyle(e,null).getPropertyValue('display'):e.currentStyle.display
)=='none'){return f('#'+a[i])}}}());(function(){var t=g(0,'img'),a=['/adaffiliate_','/adops/ad','/adsales/ad','/adsby.','/adtest.','/ajax/ads/ad','/controller/ads/ad','/pageads/ad','/weather/ads/ad','-728x90-'],i;if(typeof t[0]!=z&&typeof t[0].src!=z){i=new Image();i.onload=function(){this.onload=z;this.onerror=function(){f(this.src)};this.src=t[0].src+'#'+a.join('')};i.src=t[0].src}}());(function(){var o={'http://pagead2.googlesyndication.com/pagead/show_ads.js':'google_ad_client','http://js.adscale.de/getads.js':'adscale_slot_id','http://get.mirando.de/mirando.js':'adPlaceId'},S=g(0,'script'),l=S.length-1,n,r,i,v,s;d.write=null;for(i=l;i>=0;--i){s=S[i];if(typeof o[s.src]!=z){n=d.createElement('script');n.type='text/javascript';n.src=s.src;v=o[s.src];w[v]=u;r=S[0];n.onload=n.onreadystatechange=function(){if(typeof w[v]==z&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){n.onload=n.onreadystatechange=null;r.parentNode.removeChild(n);w[v]=null}};r.parentNode.insertBefore(n,r);setTimeout(function(){if(w[v]!==null){f(n.src)}},2000);break}}}())}if(d.addEventListener){w.addEventListener('load',g207,false)}else{w.attachEvent('onload',g207)}})(window);</script> - Сохраняем изменения, чистим кэш при необходимости. Вы можете изменить код скрипта – написать свой текст (в моем коде выделено красным) или доже вставить код изображения. Тогда будет показана именно эта картинка.
Например, такая:
Код этой картинки:
/*
<img src="https://lh3.googleusercontent.com/-4hFtwLlFdfg/VqD3pLfwrOI/AAAAAAAATAg/WN3EgNpDNG0/disable-adblock%25255B5%25255D.jpg?imgmax=800" />
или такая:
Код картинки:
<img src="https://lh3.googleusercontent.com/-yYCctkOvfAo/VqD3phqN3UI/AAAAAAAATAk/yupgcOcaP8Q/2016-01-21_18-55-46%25255B5%25255D.png" />
Код картинки:
<img src="https://lh3.googleusercontent.com/-Cam836xmySw/VqD3qcWvovI/AAAAAAAATAs/RLL4MAqYciw/adblock25813%25255B5%25255D.png" />
Код изображения:
<img src='https://lh3.googleusercontent.com/-lkU1myAP6K8/VqD3q3F8eZI/AAAAAAAATA0/FNQd5u2cKHc/15%25253BK9-A%25253F8A%25253E%25253A%25255B11%25255D.jpg?imgmax=800' />
Просьба отключить adblock
Вы можете попросить отключить adblock менее агрессивным способом. При обнаружении блокиратора рекламы, у вас на сайте будет выводиться сообщение с просьбой отключить adblock. Это не раздражает и не вынуждает пользователей покидать страницу.
Код скрипта размещаем в виджете:
<script>
var ads = "no-adblock"
var msg = '<div class="noadblock">Вы используете расширение AdBlock или подобное. Вы можете добавить этот сайт в белый список, и тем самым внесете свой вклад в его развитие.</div>';
onload=function(){
if (document.getElementsByClassName == undefined) {
document.getElementsByClassName = function(className)
{
var hasClassName = new RegExp("(?:^|s)" + className + "(?:$|s)");
var allElements = document.getElementsByTagName("*");
var results = [];
var element;
for (var i = 0; (element = allElements[i]) != 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[i].offsetHeight == 0){
blocked = 1;
ad_nodes[i].innerHTML = msg;
}
}
}
</script>
Код рекламного баннера (скрипта контекстной рекламы и т.п. заключаем в следующий код:
<div class="no-adblock"> здесь код рекламного блока </div>
Можете блок оформить с помощью стилей. Если добавляем в код виджета с рекламой, заключенной в блок с классом no-adblock, то заключаем код, приведенный ниже между <style> и </style>
.noadblock { padding: 10px; background:#fff; border: 2px solid #B10000;font-colour:#B10000; font-size: 18px; line-height: 1.38em; text-align:center; color:#444; background: #FFFFD3; }
интересно
В блоггер рекламу AdSense от гугл не обернешь в div, если не выковиривать ее код и не вставлять HTML/JS.
Я использовал не такой радикальный метод от стороннего сайта. Описал тут: http://bomberuss.ru/2016/01/adblock-adguard.html
BOMBERuss, не знаю почему у вас реклама в div не заворачивается, у меня - без проблем. А как же вы тогда её выравниваете? Да и потом, если возникают сложности с div, то можно добавить и в сайдбар через тот же гаджет HTML/Javascript, ведь достаточно обернуть дивом один блок адсенс. В боковой же колонке такой блок найдется практически в любом блоге, и смотреться объявление будет там тоже неплохо.
С вашим способом ознакомилась - было интересно. Спасибо за дополнение.
А как быть с другими рекламными резаками. Например: adguard...скрывать контент не имеет смысла - по крайней мере пока
Павел, как быть с другими резаками рекламы, я не знаю. То же расширение Касперского режет рекламу ((
У себя сделал наоборот. Везде, где можно добавил ID ADSENCE. И пока пользователь сам не отключит ADBlock ничего не увидит. И это работает.
Скажите кто-нибудь пробовал предложенный вариант от Adv? http://blog.advmaker.net/kak-uvelichit-dohod-do-130/
Не работает
Владимир, работае-работает. Только что перепроверила. Вы или неправильно скопировали код, или не почистили кэш, или у вас установлен не adblock, а другая баннерорезка. К сожалению, это лекарство не от всех бед ((
Ну покажите мне тогда на скриншотах как мне это делать.
Именно в blogger.
1. Включите расширение adblock для тестирования работы скрипта на вашем блоге. Скачать для Хрома можно здесь https://chrome.google.com/webstore/detail/adblock/gighmmpiobklfepjocnamgkkbiglidom
2. Откройте панель управления на Blogger, перейдите во вкладку Дизайн. Добавьте гаджет HTML / Javascript и вставьте в него следующий код - скопировать код можно здесь >>>
У меня уже стоят два АB+ и uBlock Origin/ABpro
Вашему скрипту нашёл альтернативу здесь:
antiblock.org
Уже проверил всё работает.
Немного настроил по другому:
1. Antiblock сообщение: как изображение- галочку снял
Так как русский текст у меня в изображении в виде вопросительных знаков вместо букв.
2. XML-действительный код генерации ( место!)- галочку поставил
3. Посетитель может антиблокировочное объявление по 0 Секунды близко (0 = немедленно)- поставил галочку и 0
Единственно не знаю как цвет шрифта поменять?
Если поможете был бы рад.
Как я писал выше у меня стоит uBlock Origin/ABpro
У Вас в статье "Как отключить adblock в разных браузерах" про него ничего не стоит надо бы добавить.
Единственная понятная статья с картинками в инете.
Кстати в скрипте о котором я написал есть знак вопроса под текстом при его нажатии переходишь на сайт http://antiblock.org/
Я сделал переход на Ваш сайт на статью "Как отключить adblock в разных браузерах" но всё же нужно добавит uBlock Origin/ABpro
Ещё одна просьба не могу понятного разъяснения найти как отслеживать посетителей с включенным AdBlock для Google Analytics
Заранее Спасибо за помощь !!
П.С. Хотел ещё картинки добавить до функции такой здесь нет.
Vladimir, изменить шрифт можно в начале кода - найдите там отрезок:
font:bold 24px Verdana,Arial,sans-serif;text-decoration:none}
и настройте его по своему усмотрению.
Картинку тоже можно добавить:
Найдите код: <"+a+'> и после него добавьте код картинки.
Спасибо за развернутое дополнение.
P.S. Про отключение uBlock Origin/ABpro добавлю в свою статью.
А я хотела бы надпись в виде картинки "Для получения доступа к контенту отключите adblock". Как сделать? Фотошоп не предлагать!
Vladimir, добавила в свою статьи информацию о том, как удалить uBlock original
В 2017 этих зверей развелось уже очень много и таблетка от одного только AdBlock Plus остальные 90% этого зоопарка не ловит. Метод .offsetHeight == 0 определял адблоки в 2014 году. Сейчас все хитрее устроено. CSS рекламного блока иногда вообще не трогают, а только блокируют загрузку со стороннего домена. Или добавляют visibility:hidden или display:none;
Содержимое сайта от халявщиков надо закрывать, но не сразу - дайте им время на поверхностное ознакомление, а то уйдут.
А если юзер углубился несколько в материал, то ему легче в два клика адблок отключить, чем искать новый сайт по теме, и ПФ не страдают.
Бесплатный скрипт выявляющий адблоки сразу по нескольким признакам и ведущий статистику можно найти тут: https://alma-mater.biz
Он там генерируется под ваши параметры - можно время срабатывания менять и текст в алерте. Скрипт бросает юзера на инструкцию по отключению адблоков, а потом после успешного отключения обратно на сайт.
А все красивые картинки и вежливые просьбы без закрытия контента юзеры адблоков называют "попрошайками" и "бомжами". Так и пишут на своих форумах "обнаружен попрошайка на таком-то сайте, просим разработчиков добавить фильтр". И разработчики оперативно добавляют. Можете тут почитать: https://forums.lanik.us/viewforum.php?f=102
Пожестче надо отстаивать свои профессиональные интересы, господа.
Спасибо большое буду Вам во веки веков благодарен за этот скрипт))) ВСЕ РАБОТАЕТ!!!!!! ХАХАХАХАХ))))))
Работает. Только сделал двойную текстовую строку:
Disable Adblock to view the site!Для просмотра сайта отключите Adblock!
И добавил цвет текста (в стиле):
#g207 p{opacity:1;
filter:none;
font:bold 16px Verdana,Arial,sans-serif;
text-align:center;
color:#000;
margin:20% 0}
Спасибо за дополнение!
Сайт обрезал моё сообщение. Между строками нужно вставить 'br /' в угловых скобках.
Спасибо!
В Adblock Plus есть функция "Заблокировать элемент". Создаёт фильтр против данного скрипта и он перестаёт работать. Облом.
Жаль, что адблок создал обход для скрипта
Прочитал пост Дениса Долгих и пришла идея модифицировать скрипт, который полностью закрывает экран. Добавил в него переход по ссылке в другой блог, в котором прошу отключить Adblock и потом вернуться на предыдущую страницу. Простые фильтры адблока уже не работают, потому что они блокируют только визуализацию, а скрипт перехода продолжает работать. Текст теперь можно удалить. Вот скрипт на замену:
с текстом
function f(v){if(!g('g270')){c('Text','g270'); d.location.href = "https://site.com";}};
или без текста
function f(v){if(!g('g270')){d.location.href = "https://site.com";}};
Упс! Нужно заменить 270 на 207. И текст заключить в 'p' '/p' в угловых скобках.
При необходимости, можно установить таймер перехода, в миллисекундах.
function f(v){if(!g(‘g207’)){setTimeout(function(){d.location.href = 'https://site.com';},5000);}};
Эта информация обязательно кому-нибудь пригодиться!
у меня на сайте не работает...