AlexBrtn Опубликовано 29 июня, 2014 Поделиться Опубликовано 29 июня, 2014 Из тех хуков которые тут есть, я не нашёл ничего стоящего на данную тему. Считаю глупо "кидать в глаза" всплывающее сообщение "Отключи блокировщик!" Погуглил, нашёл статейку со скриптом который делает так: подставляя в место рекламы, аккуратное сообщение. В прикреплённом архиве есть: html, javascript, css файлы. Для начала код рекламы на сайте нужно окружить тегом div с классом adb (если не меняли на другой). В заголовке темы подключить джаваскрипт. В css файл своего шаблона добавить описание класса adb. При установке чистите кэш. Также нужно установить дополнения к браузерам AdBlock Pro и AdBlock Plus, чтобы увидеть работает скрипт нормально или нет. Текст сообщения можно изменить в javascript файле. И соответственно вопрос: как его правильно встроить в ipb, чтоб детектил на всех страницах форума? ads_detector.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 30 июня, 2014 Автор Поделиться Опубликовано 30 июня, 2014 Подскажите, как правильно прописать путь к папке со скриптом public/js/ads_detector.js ? <script type='text/javascript' src="какая переменная?/js/ads_detector.js"></script> Так правильно будет? <script type='text/javascript' src='{$this->settings['public_dir']}js/ads_detector.js'></script> Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 30 июня, 2014 Автор Поделиться Опубликовано 30 июня, 2014 КопипастШаг 1. HTML Достаточно добавить блочный элемент с атрибутом class в любое место страницы, предварительно разместив рекламный код внутри блока. <div class="adb"> Рекламный код тут </div> Шаг 2. JS Нужно разместить этот код в файле с расширением 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() { // заглушка для IE, т.к. нет функции getElementByClassName 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) != 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) { // проверяем высоту i-го блока if (ad_nodes.offsetHeight == 0) { blocked = 1; ad_nodes.innerHTML = msg; // выводим сообщение на экран } } } Залил и подключил в начале GlobalTemplate после <head> <script type='text/javascript' src="{$this->settings['public_dir']}js/ads_detector.js"></script> И чегой-то не детектит Ссылка на комментарий Поделиться на другие сайты Поделиться
LvsF Опубликовано 1 июля, 2014 Поделиться Опубликовано 1 июля, 2014 Переименуйте скрипт, избавьтесь от ads в названии AUYKGN и AlexBrtn 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
HooLIGUN Опубликовано 1 июля, 2014 Поделиться Опубликовано 1 июля, 2014 Этот adguard блочит этот скрипт AlexBrtn и AUYKGN 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 1 июля, 2014 Автор Поделиться Опубликовано 1 июля, 2014 Переименуйте скрипт, избавьтесь от ads в названии "заработало" (с) - оставил detector.js С чем это связанно? Не знал, что название может играть такую важную роль. Этот adguard блочит этот скрипт Ох уж этот adguard ) AUYKGN 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 2 июля, 2014 Автор Поделиться Опубликовано 2 июля, 2014 Создал >статью. Всем спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения