Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/09/2011, 22:33
Avatar de Webstudio
Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 69
Respuesta: problema bastante molesto :S

Pero... ( y siempre hay un pero... )
Quizás no necesites acceder a los eventos internos de tu iframe para detectar un click. En su nivel más básico, cuando alguien hace click en un iframe, está activando el foco dentro de ese iframe, no?
Por qué no intentás hacer esto? (con jQuery, para facilitar)
Código Javascript:
Ver original
  1. $().ready(
  2.   // Primero identificamos si estamos parados arriba de un ad de Google
  3.   var overAdsense = false;
  4.  
  5.   $('ins > iframe').mouseover(function(){
  6.     overAdsense = true;
  7.   })
  8.   .mouseout(function(){
  9.     overAdsense = false;
  10.   });
  11. );

Listo, primer punto cumplido. Tenemos la capacidad de saber si estamos con el mouse parados arriba de un Ad de Adsense. Esta es la parte más difícil.

Pero como decíamos recién, si podemos saber en qué momento hacemos foco en un lugar... entonces podemos saber automáticamente cuando dejamos de hacer foco en otro? Entonces, el momento fundamental en el que estamos haciendo click en un Ad... quién pierde foco?

El Objeto window.

Código Javascript:
Ver original
  1. //continuamos
  2. $(window).blur(function(){
  3.   if(overAdsense) {
  4.     /* aca no podemos hacer alerts o muchas otras cosas,
  5.         porque el click lo captura el iframe de google, asi que
  6.         vamos a guardar info haciendo una peticion ajax */
  7.     $.post({
  8.       url: 'http://nuestrodominio.com/script_que_captura.php',
  9.       data: {
  10.         adUrl: window.location.href,
  11.         adDate : Date()
  12.       }
  13.     });
  14.   }
  15. });

Sin embargo, este método tiene un gotcha, y es que podemos identificar clicks hechos sobre nuestros Ads de Adsense, pero si una persona hace click sobre una parte que no es click, también estaríamos levantando el evento y haciendo la llamada AJAX.

Ya me cuentan que les parece y si les pareció útil.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com