Foro Black Hat SEOArchivo · solo lectura
RankHispano

¿Quieres que se conozca tu proyecto?

Da de alta gratis tu proyecto en menos
de un minuto gracias a la IA
en RankHispano.com

[TUT] Muestra un mensaje para los usuarios con Adblock

Iniciado por Sauron · 12 sept 2014 · 3 respuestas · 12.830 visitas

  1. Sauron
    Cada vez es más común que los usuarios naveguen con el plugin de Adblock activado para que les elimine toda la publicidad.

    Unas de las maneras de poder mostrarle algún mensaje a estos usuarios es tan sencillo mirar una capa de publicidad y si esta en su interior no tiene contenido, quiere decir que el adblock lo ha removido. Por ejemplo para la publicidad más común que es el adsense sería el siguiente código:

    <script> 
      
      // Run after all the page elements have loaded
      window.onload = function(){ 
      
        // This will take care of asynchronous Google ads
        setTimeout(function() { 
          
          // We are targeting the first banner ad of AdSense
          var ad = document.querySelector("ins.adsbygoogle");
          
          // If the ad contains no innerHTML, ad blockers are at work
          if (ad && ad.innerHTML.replace(/\s/g, "").length == 0) {
            
            // Since ad blocks hide ads using CSS too
            ad.style.cssText = 'display:block !important'; 
            
            // You can put any text, image or even IFRAME tags here
            ad.innerHTML = 'Your custom HTML messages goes here';
          
          }
          
        }, 2000); // The ad blocker check is performed 2 seconds after the page load 
      }; 
      
    </script>


    Debes modificar ad.innerHTML = 'Your custom HTML messages goes here'; que es el HTML que vas a mostrar al usuario.
  2. kou
    Lo acabo de probar y no funciona :(

    Error al analizar XML, línea 1053, columna 15: The entity name must immediately follow the '&' in the entity reference

    Esta línea:

    if (ad && ad.innerHTML.replace(/\s/g, "").length == 0) {
  3. DanielDiaz
    Es más sencillo hacer lo que dices de esta forma:

    <script>
    $(document).ready( function() {
    window.setTimeout( function() {
    var bottomad = $('#bottomAd'); // Div que tiene algo de contenido que ha desaparecido
    if (bottomad.length == 1) {
    // FUNCION EN JQUERY PARA MOSTRAR EL BLOQUEADOR
    }
    }
    }, 1);
    });
    </script>
  4. rufoqe
    que buena, lo probare

Este hilo pertenece al archivo del foro y ya no admite respuestas.

Otros hilos de esta sección