Вернуться   Форум об интернет-маркетинге > > >
Ответ
 
Опции темы
Старый 28.11.2019, 03:05   #1
Студент
 
Аватар для Dimoks
 
Регистрация: 16.06.2008
Адрес: Харьков
Сообщений: 35
Репутация: 10

Cool Перестал работать скрипт антиадблока

Не знаю когда, но перестал работать такой скрипт

Код:
<div id='puhkin'>
<!-- тут баннер гугла  -->
</div>
<script>
window.addEventListener("load", function() {
  var ins = document.getElementById('puhkin');
  if (ins.clientHeight == "0") {
    ins.innerHTML = 'Пожалуйста не блокируйте рекламу на сайте. Спасибо';
  }
}, true);
</script>
AdBlock научился обходить его. Есть что-то свежее?
В старой теме писали про https://www.pravda.com.ua/rus/
Реально разобрать по частям как они это делают?

Спасибо
__________________
# Этот клиент не платит за работу. Работайте только по предоплате
User-agent: *
Disallow: /index.php
Dimoks вне форума   Ответить с цитированием

Реклама
Старый 28.11.2019, 06:20   #2
Vimsite
Прафессор
 
Регистрация: 22.02.2007
Сообщений: 647
Репутация: 56986
Отправить сообщение для Vimsite с помощью ICQ

По умолчанию Re: Перестал работать скрипт антиадблока

Какой то странный у вас скрипт. Адблок по идее банит загрузку внешних скриптов чтобы не грузить рекламу в принципе, поэтому ваш скрипт и так не очень точно определяет блокировку.
Если ваш див изначально высотой 0 а после загрузки рекламы больше 0, то надо смотреть. Может раньше они див обнуляли по высоте а сейчас нет.

Обычно же используется другой метод:

в хеаде страницы скрипт

Код:
window.onload = function() 
{ txt='';ab=0;t = document.getElementsByTagName("script"); 
for (i = 0; i < t.length; i += 1) 
{ 
if (t[i].src.indexOf("/img/advert.js.error") !== -1) ab=1; 
if (t[i].src.indexOf("an.yandex.ru/system/context.js.error") !== -1) ab=1;
}
if (ab==1) 
{ 
// код если адблок включен
 var jsl = document.createElement('SCRIPT'); jsl.type = 'text/javascript'; jsl.src = '/img/adgsdg.js'; 
 document.body.appendChild (jsl);
} 
}
в боди страницы
Код:
var jsel = document.createElement('script'); 
jsel.type = 'text/javascript'; 
jsel.src = '/img/advert.js'; 
document.body.appendChild (jsel);
файл скрипта /img/advert.js пустой.
в скрипте /img/adgsdg.js пожно прописать что делать если забанено. Либо сразу как в вашем коде менять див.
Vimsite вне форума   Ответить с цитированием
Старый 28.11.2019, 08:19   #3
AfterWar
Повелитель иллюзий
 
Аватар для AfterWar
 
Регистрация: 28.01.2013
Сообщений: 492
Репутация: 73899

По умолчанию Re: Перестал работать скрипт антиадблока

Про https://www.pravda.com.ua/rus/ - я им тогда писал что за тизерки-ответили это clickscloud - они сами определяют и подставляет свою но лично для меня не подошло. Выгоднее свои баннеры напрямую с партнерок подставлять - Vimsite вам подходящий код дал. Еще бы кто то код бы с рандомными дивами накодил.

А еще ищите свой сайт в списке easylist и т.п. - стукнули похоже на детект
AfterWar вне форума   Ответить с цитированием
Сказали спасибо 2 пользователей:
Старый 28.11.2019, 10:53   #4
spanjokus
Кандидат наук
 
Регистрация: 08.06.2018
Сообщений: 468
Репутация: -28271
Социальные сети Профиль в ВКонтакте

По умолчанию Re: Перестал работать скрипт антиадблока

ВОт зачем это вообще делать? У вас же должны быть космические отказы из-за этого
spanjokus вне форума   Ответить с цитированием
Сказали спасибо 2 пользователей:
Старый 28.11.2019, 11:27   #5
AfterWar
Повелитель иллюзий
 
Аватар для AfterWar
 
Регистрация: 28.01.2013
Сообщений: 492
Репутация: 73899

По умолчанию Re: Перестал работать скрипт антиадблока

А в чем ввобще взаимосвязь показа альтернативного баннера вместо GAS и отказов?
AfterWar вне форума   Ответить с цитированием
Сказали спасибо 2 пользователей:
Старый 28.11.2019, 13:39   #6
dotern
Профессор
 
Аватар для dotern
 
Регистрация: 22.09.2016
Сообщений: 927
Репутация: 74182

По умолчанию Re: Перестал работать скрипт антиадблока

Цитата:
Сообщение от AfterWar Посмотреть сообщение
Про https://www.pravda.com.ua/rus/ - я им тогда писал что за тизерки-ответили это clickscloud - они сами определяют и подставляет свою но лично для меня не подошло.
AdGuard успешно всё режет, и он становится популярнее Adblock
dotern вне форума   Ответить с цитированием
Старый 28.11.2019, 13:59   #7
AfterWar
Повелитель иллюзий
 
Аватар для AfterWar
 
Регистрация: 28.01.2013
Сообщений: 492
Репутация: 73899

По умолчанию Re: Перестал работать скрипт антиадблока

У них списки фильтров одинаковые у всех (easy,privacy и т.п.), да есть у AdGuard свои но и ublock у остальных свои есть, но это мизер от общих фильтров. Вообщем принцип одинаковый. Тогда кстати на укрправде не резал ни один в т.ч и AdGuard чего и спрашивал их что за реклама.
AfterWar вне форума   Ответить с цитированием
Старый 29.11.2019, 19:19   #8
Alex430
Дипломник
 
Регистрация: 31.03.2017
Сообщений: 89
Репутация: 3229

По умолчанию Re: Перестал работать скрипт антиадблока

Попробуйте такой вариант
Код:
<script>
    window.addEventListener("load", function () {
        var ads = document.getElementsByClassName('adsbygoogle'), //default google ads container class
            spanBanner = '<h1> any banner html </h1>'; // banner layout
    
        if (ads.length > 0) {
            if (window.getComputedStyle(ads[0], null).display === 'none') { //check is ads blocked
                insertBanners();
            }
        }
    
        function insertBanners() {  // show banners 
            Array.prototype.forEach.call(ads, function(ad) {
                ad.parentNode.insertAdjacentHTML('beforebegin', spanBanner); // insert new banner instead of blocked ads
            });
        }
    });
</script>
В теме https://searchengines.guru/showthread.php?t=984361 есть еще некоторое количество готовых решений.
Alex430 вне форума   Ответить с цитированием
Сказали спасибо:
Старый 01.12.2019, 19:50   #9
Dimoks
Студент
 
Аватар для Dimoks
 
Регистрация: 16.06.2008
Адрес: Харьков
Сообщений: 35
Репутация: 10

ТопикСтартер Re: Перестал работать скрипт антиадблока

Цитата:
Сообщение от Alex430 Посмотреть сообщение
Попробуйте такой вариант
Спасибо! Работает!
А не знаете как сделать чтобы вывод баннера который выглядит вот так

Код:
<div id="affiliate_rozetka_812"></div>
<script type="text/javascript" src="//affiliates.rozetka.com.ua/banners/?id=812"></script>
Я делаю вот так:
Код:
spanBanner = '<div id="affiliate_rozetka_812"></div>
<script type="text/javascript" src="//affiliates.rozetka.com.ua/banners/?id=812"></script>';
Не работает Выводит это как текст, а не выполняет его
Dimoks вне форума   Ответить с цитированием
Старый 04.12.2019, 13:23   #10
Alex430
Дипломник
 
Регистрация: 31.03.2017
Сообщений: 89
Репутация: 3229

По умолчанию Re: Перестал работать скрипт антиадблока

Попробуйте подключение скрипта сделать в начале страницы
<script type="text/javascript" src="//affiliates.rozetka.com.ua/banners/?id=812"></script>

а в код баннера подставить только div
spanBanner = '<div id="affiliate_rozetka_812"></div>'
Alex430 вне форума   Ответить с цитированием
Ответ



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны