Обнаружение блокировщика рекламы Adblock

Обнаружить блокировщик рекламы Adblock

Интересное решение - искажать содержимое, если стоит Adblock и просить его отключить. Найдено тут.

Краткая суть: добавляем фейковую рекламу:

<script src="/advert.js"></script>
/advert.js
window.okab = false;

Затем проверяем наличие этой фейковой рекламы, а также делаем другие проверки и заставляем пользователя отключить Adblock.

Мой вариант - взимать штраф неубиваемой страницей =).

detect-adblock.js
// есть блокировщик?
var okbanner=false;
var deta=function() {
  // если фейковая реклама не загрузилась
  if (!('okab' in window)) {okbanner=true;}
  // блокировщик добавил свое свойство в window
  if (window.hasOwnProperty("AG_removeElementById")) {okbanner=true;}
  // заблокированы счетчики посетителей
  if ((!('yaCounter19006' in window))&&(!('gaGlobal' in window))) {okbanner=true;}
  // если это бот гугла или яндекса, ахтунг! притворяемся белыми и пушистыми
  if (navigator.userAgent.match(/Googlebot/i)||navigator.userAgent.match(/YandexBot/i)) {okbanner=false;}
  // обработчик, если есть блокировка
  if (okbanner) {
    document.getElementById('okmenu').innerHTML+="Форум существует на средства от рекламы. Отключите, пожалуйста, блокировщик.";
    // интересный эффект
    document.getElementById("posts").style.transform = "rotate(4deg) scaleX(0.8)";
    document.getElementById("posts").style.webkitTransform = "rotate(4deg) scaleX(0.8)";
    document.getElementById("posts").style.MozTransform = "rotate(4deg) scaleX(0.8)";
    document.getElementById("posts").style.opacity = "0.3";
  }
};
var oldOnload2=window.onload;
window.onload=function(){
  oldOnload2 && oldOnload2();
  deta();
}