
Estoy jugando a un juego de navegador donde puedes ganar moneda premium dentro del juego viendo varios anuncios/películas/ofertas especiales/etc. Mi complemento de Firefox Adblock Plus está haciendo un buen trabajo bloqueando todos esos anuncios, lo que me impide obtener las esmeraldas ya que los scripts no reconocen que el anuncio está siendo visto (lo cual está bien).
Estos anuncios especiales se cargan en un IFrame desde varios dominios externos. A grandes rasgos, la estructura es la siguiente:
MainSite@DomainA > iframe#gameIframeID@DomainA > iframe#adIframeID@DomainB
Entonces, MainSite contiene un iframe con el juego, que contiene otro iframe con los anuncios.
Como soy nuevo en la escritura de reglas ABP, hasta ahora no encontré una solución que funcione. ¿Cómo puedo crear una regla de excepción ABP que permita todo dentro del iframe con la identificación (o clase)?adIframeID, para que el anuncio y los scripts necesarios se carguen correctamente, pero los anuncios en el sitio principal siguen bloqueados con normalidad.
Sé cómo incluir en la lista blanca un dominio específico, por lo que podría incluir en la lista blanca el dominio publicitario completo, pero este dominio podría cambiar y solo quiero sus anuncios dentro de este juego y en ningún otro lugar ;-)
Respuesta1
Si el iFrame tiene una URL asociada (es decir, no un iFrame anónimo), puede escribir un filtro como tal:
@@||example.com/iframe?showad=true$subdocument,document,domain=foo.com
Dado que la URL del iFrame es "https://example.com/iframe?showad=true" y que el dominio en el que se muestra el iFrame es "foo.com".
Dicho filtro incluirá en la lista blanca el iFrame (subdocumento) y todo lo que contiene (documento).