Вопрос

Я хочу обнаружить программное обеспечение для блокировки рекламного обеспечения на моем веб -сайте и попросить пользователей отключить Adblock путем перенаправления. Единственный способ, которым я обнаружил, - это использование JavaScript.

  1. Есть ли другой способ обнаружения?

  2. Если нет, как я могу обнаружить, отключен ли JavaScript, и перенаправить их на определенную страницу?

Это было полезно?

Решение

Вы не можете «обнаружить», если JavaScript отключен. Поскольку JavaScript является функцией клиента, сервер не может его обнаружить, а «обнаружение» вещей клиентской стороны выполняется с помощью JavaScript. Вы видите улов 22.

Что доступно, так это <noscript> тег, который отображается браузером только в том случае, если JavaScript выключен. Это стандартный механизм отображения сообщения пользователю, если JavaScript отключен. Используя Noscript и умный CSS, вы можете сделать необходимостью, чтобы пользователи либо включили JavaScript, либо следили за ссылкой перенаправления, которую вы представляете, чтобы использовать свой сайт.

Нет возможности автоматически перенаправить Только Пользователи, у которых JavaScript отключил. Вы можете избирательно перенаправить пользователей, используя JavaScript, или вы можете перенаправить людей на основе критериев на стороне сервера (заголовки HTTP и т. Д.). Но вы не можете поймать эту среднюю группу.

Что касается обнаружения рекламногоблока, это будет варьироваться в зависимости от браузера и метода ADBlocking. Для этого нет последовательного флага, но вы можете делать такие вещи, как проверка наличия вашего рекламного сервера через JavaScript, или проверить, загружается ли ваше рекламное содержание на странице.

Другие советы

Чтобы обнаружить, блокирует ли пользователь рекламу, все, что вам нужно сделать, это найти функцию в Ad JavaScript и попробовать тестирование для нее. Неважно, какой метод они используют для блокировки объявления. Вот как это выглядит для рекламы Google Adsense:

if(typeof(window.google_render_ad)=="undefined") 
{ 
    //They're blocking ads, do something else.
}

Этот метод изложен здесь: http://www.metamorphosite.com/detect-web-popup blocker-software-adblock-pam

Чтобы перенаправить всех пользователей JavaScript отключено, просто поместите этот код в главу вашего HTML:

<noscript>
    <meta http-equiv="refresh" content="5;url=http://newsite.com/">
</noscript>

Я цитирую из этого поста о предмете:

http://w3guy.com/deting-adblock/

HTML

<div class="myTestAd">
    <!-- Adsense Ad code goes here -->
</div>

JS:

if ($('.myTestAd').height() == 0) {
    // stuff to do if adBlock is active
} 

Я не мог заставить решение @Beau для работы по проверке на window.google_render_ad ', но оно сработало при проверке Window.google_jobrunner'.

Возможно, код AdSense изменился с момента размещения исходного ответа, я нашел «Google_Jobrunner» в JS, загруженном с AdSense, но не «Google_Render_AD».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top