Обнаружение блокировщика рекламы 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(); }