Задать вопрос
insquir
@insquir

Как проверить блокировку рекламы?

Нужен скрипт, который проверит, включена ли блокировка рекламы у пользователя.
Я хочу реализовать это на своем веб-сайте
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Пытаетесь загрузить что-либо что с большой долей вероятности будет заблокировано. Проверяете удалось ли загрузить ресурс.
Ответ написан
Комментировать
@V0vash
сталкивался с похожей необходимость, т.к. API попадало в "ru AdList" , решал таким образом :

export default function detectAdBlock(){
    return new Promise((resolve) => {
        const adElement = document.createElement("div");
        adElement.classList.add('adsbygoogle');
        adElement.style.cssText = 'height: 1px; width: 1px; background-color: transparent';
        document.body.appendChild(adElement);

        const adElementStyle = getComputedStyle(adElement, null);
        window.setTimeout(()=>{
            if(adElementStyle.display === 'none'){
                resolve(true)
            }else{
                resolve(false)
            }
            document.body.removeChild(adElement);
        }, 20)
    })
}


стоит учитывать, что у расширений приоритет выше чем у скриптов => в моём случае выбивал требование добавить сайт в whitelist, т.к. в противном случае замечательные регулярки "AdList'а" не давали получать данные с API
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы