Guía // Desarrolladores

Detectar adblock con JavaScript: el resultado en tu código, sin mantener la detección

Sí, tu JavaScript puede saber si una visita bloquea anuncios. Lo difícil es que siga sabiéndolo: los snippets y las librerías públicas pueden acabar en las listas de filtros y, si pasa, dejan de avisar sin dar ningún error. Aquí no hay otro snippet: hay en qué estado están las librerías conocidas y cómo leer en tu JavaScript el resultado de un motor mantenido a diario.

Plan Free: 5.000 detecciones al mes, sin método de pago.

Revisada el · Por AntiAdBlock Core · Somos AntiAdBlock Core: hacemos detección de adblock

Dos trabajos, una respuesta

01 // La comprobación Alguien la mantiene al día mientras cambian los bloqueadores

02 // Tu lógica Lo que hace tu página con la respuesta

Con un snippet, la 01 es cosa tuya. Con la API de detección, solo te queda la 02.

Por qué los snippets y las librerías dejan de funcionar

Detectar adblock solo con JavaScript se puede, y por eso abundan los snippets que lo prometen en pocas líneas. Las librerías conocidas se apoyan en dos familias de comprobaciones que circulan desde hace más de diez años: elementos que imitan un anuncio y peticiones de prueba. El código es público, las listas de filtros también, y en cuanto una lista incluye tu snippet, tu web deja de ver a esos lectores sin ningún error en tu código.

Qué le pasa a un snippet que nadie mantiene, y cómo te enteras
Qué pasaQué vesQué te cuesta
Las listas de filtros se actualizan a menudoNada: tu snippet sigue igualLo que hoy funciona puede dejar de hacerlo en la próxima actualización, sin que nadie te avise
Una lista incluye tu snippetTu código no da ningún errorLo notas, si lo notas, cuando baja una cifra
Bloquea la red de la oficina o una VPN, no el lectorEl mismo aviso que a quien instaló una extensiónQuien no puede quitarlo recibe una petición que no puede atender

Chrome desactivó Manifest V2 para todos en julio de 2025: solo quedan bloqueadores de Manifest V3, y las librerías de abajo son anteriores. El bloqueo también viene de serie: Brave bloquea por defecto anuncios y rastreadores de terceros con su propio motor, y Firefox trae una protección contra el rastreo que bloquea muchos dominios de anuncios y analítica.

Lo que cambió en Chrome está en qué cambió para los scripts antiadblock en 2026 y en la guía de uBlock Origin Lite.

Librerías para detectar adblock: en qué estado están en 2026

Si buscas "detectar adblock con JavaScript", acabarás en npm. Mira cuándo publicó cada paquete su última versión: la fecha no dice si detecta en tu web, sino si alguien lo mantiene.

Última versión en npm de las cuatro más conocidas
LibreríaÚltima versiónPublicada
BlockAdblock3.2.1marzo de 2016
FuckAdBlock3.2.1marzo de 2016
just-detect-adblock1.1.0octubre de 2020
adblock-detect-react (React)1.3.1enero de 2024
Las cuatro más conocidas, blockadblock.com y Manifest V2 en Chrome
  1. BlockAdblock y FuckAdBlock 3.2.1
  2. blockadblock.com: se vende la tecnología y deja de actualizarse
  3. just-detect-adblock 1.1.0
  4. adblock-detect-react 1.3.1
  5. Chrome 138 desactiva Manifest V2 para todos, sin vuelta atrás
  6. Las extensiones Manifest V2 salen de la Chrome Web Store

npm y Chrome for Developers, 1 nov 2026; nuestra comparativa con BlockAdblock, 11 oct 2026.

Se siguen instalando cada mes aunque casi ninguna publica versiones. Con BlockAdblock está comprobado: las listas de uBlock Origin y de AdGuard traen reglas contra él, y no cambia de versión desde 2016 (nuestra comparativa). Si tu web vive de la publicidad, una librería te obliga a asumir su mantenimiento.

Lo que tu código necesita saber

Antes de elegir, piensa en qué recibe tu código y quién lo mantiene: un snippet te da un sí o un no y lo mantienes tú; con nuestra etiqueta lo mantenemos nosotros y, con la API (Max y Business), tu código recibe más datos.

Snippet frente a etiqueta // lo que cambia para tu código
Qué cambiaSnippet o libreríaEtiqueta de AntiAdBlock Core
Quién lo mantieneTú, o el autor si sigue activoNosotros
Cuando cambian los bloqueadoresDeja de avisar, sin errorLo mantenemos a diario; tu código no cambia
Qué recibe tu códigotrue o falseSi hay bloqueo, el tipo y el navegador (con la API, en Max y Business)

Cómo tener el resultado en tu JavaScript sin escribir la detección

Eso es lo que da la API de detección de adblock de AntiAdBlock Core: un modo de nuestro script que no muestra ningún aviso. El motor, multiseñal y mantenido a diario, detecta el bloqueador y entrega el mismo objeto a tu página por tres vías: el evento aabc:detection, tu función window.AABC_ON_DETECT (la que recomienda la documentación) o la instantánea window.AABC_DETECTION, para el código que llega tarde.

Se activa sitio a sitio en Configuración del sitio › Modo del script › Detection API, con el dominio verificado y la misma etiqueta (Max y Business). Decide qué hace tu página si no llega el resultado, y puedes probarlo sin instalar un bloqueador.

El objeto dice si hay bloqueo (detected), de qué tipo (blockerType: extensión, Brave Shields, protección del navegador, red o DNS, o sin clasificar) y en qué familia de navegador (browser), una vez por página abierta, también sin bloqueo. Cuándo llega y todos los valores, en la documentación.

Dos piezas, en este orden
<script>
window.AABC_ON_DETECT = function (d) {
  if (d.detected && d.blockerType !== "network_dns") {
    // tu lógica
  }
};
</script>
<script async
  src="https://antiadblockcore.com/s/SITE_ID.js"
  data-aabc-site="SITE_ID"
  crossorigin="anonymous"></script>

1. Tu código, antes de la etiqueta 2. Tu etiqueta, la de tu panel

De la documentación de la API. Deja fuera el bloqueo de red, que no se quita con un clic.

Planes Max y Business // precios en USD // comparar planes

React, Next.js, Vue, Angular o WordPress: dónde va cada pieza

El resultado es un evento de window, así que no hace falta una librería por framework. La etiqueta va una sola vez en el <head> y tu componente se limita a leer.

Una etiqueta por página, sea cual sea el framework
Dónde trabajasLa etiquetaTu código
HTML o cualquier CMSEn el <head> de todas las páginasTu función AABC_ON_DETECT, antes de la etiqueta
React o Next.jsUna vez, en el layout raízUn hook de cliente: la instantánea y el evento
Vue o AngularUna vez, en la plantilla principalLo mismo: la instantánea y el evento
WordPressLa pone el plugin oficialTu script en el tema: la instantánea AABC_DETECTION y el evento

En una aplicación de una sola página, el resultado llega al abrir la página, no en cada cambio de ruta, y conviene quitar el listener al desmontar. La documentación trae el ejemplo para React.

El aviso, la API o tu propio código: qué te conviene

Cuatro caminos desde aquí
Si quieres...Te convienePor dónde empezar
Que tu código decida qué ven los lectores con bloqueadorLa API de detección (Max y Business)API de detección
Pedir que permitan tus anuncios, sin programarEl detector con su muro, desde el plan FreeDetector de adblock
Verlo funcionar antes de instalarLa demo en vivo, con tu bloqueador activadoDemo en vivo
Seguir con tu propio snippetAsumir el mantenimientoComparar con BlockAdblock

Con AntiAdBlock Core, el panel te enseña tu tasa de adblock y la actividad diaria en todos los planes; el desglose por tipo de bloqueo llega con Max y Business.

Preguntas frecuentes

¿Se puede detectar adblock solo con JavaScript?

Sí, es lo que hacen los snippets públicos. Lo difícil es que siga funcionando: si una lista de filtros incluye tu código, deja de ver a esos lectores sin ningún error. Conviene un motor mantenido a diario.

¿Por qué mi script para detectar adblock dejó de funcionar sin dar error?

Puede que una lista de filtros lo haya incluido o que tus lectores hayan cambiado de bloqueador. El snippet no sabe que ya no ve: responde que no hay bloqueo, y tu tasa de adblock baja sin motivo.

¿Qué librería uso en 2026: BlockAdblock, FuckAdBlock o just-detect-adblock?

Las tres publicaron su última versión en npm entre 2016 y 2020, y las listas de uBlock Origin y de AdGuard ya traen reglas contra BlockAdblock. La API de detección te da el resultado con un motor mantenido a diario.

¿Cómo leo el resultado en React o Next.js?

Pon la etiqueta una vez en el layout raíz y lee el resultado en un componente de cliente: la instantánea al montar y el evento después. El hook completo está en la documentación.

¿Puedo probarlo gratis antes de pagar la API?

El motor sí, la API no. El plan Free cubre 5.000 detecciones al mes, sin método de pago, con el mismo motor y el panel, pero muestra el muro. La API llega con Max o Business.

Fuentes

Con la fecha de consulta de cada una.

  1. Chrome for Developers: calendario de Manifest V2 (Manifest V2 support timeline)
  2. Blog de Brave: el motor de bloqueo propio de Brave
  3. MDN: la protección contra el rastreo de Firefox
  4. Registro de npm y GitHub: última versión, fecha y último commit de cada paquete
  5. Repositorio de filtros de AdGuard en GitHub: cambios de filtros por semana
  6. BlockAdblock frente a AntiAdBlock Core: la librería y el script, fuente a fuente

Deja la detección en manos de quien la mantiene

Crea tu cuenta, pega la etiqueta y mira tus detecciones en el panel desde las primeras visitas. Cuando quieras el resultado en tu propio código, activa la API de detección en tu sitio con Max o Business.

Precios en USD // ver precios

Sigue leyendo