Intercepción clic en el contenido en un iframe
-
21-09-2019 - |
Pregunta
Tengo una iframe
que hace referencia a una URL externa que sirve páginas que contienen anuncios Flash.
Necesito un seguimiento de la frecuencia con la que un cliente hace clic en uno de esos anuncios.
El enfoque que estoy tomando es rendir un elemento div
sobre el iframe
. Esto me permite para interceptar el evento click, sin embargo tengo que pasar esa clic abajo a la iframe
. ¿Es esto posible utilizando JavaScript?
Solución
No, no es posible. No se puede simular un real haga clic en JavaScript, puede sólo el fuego en eventos.
Otros consejos
No creo que es posible, así
Pero, suponiendo que los clics redirigir al usuario a la página del anuncio, se puede interceptar el usuario haga clic en el uso de redirecciones. Cambiar el enlace a una secuencia de comandos en su propio servidor con algunas únicas Identificación del anuncio. Registrar el clic y redirigir al usuario a la página de publicidad.
Otra posibilidad es utilizar esta técnica para cargar el contenido del iframe, por lo que conoce la cantidad de clientes visto el anuncio. Pero esto, por supuesto, podría ser un esquema de publicidad su anuncio cliente no le gusta / falta.
No se puede pasar el clic a través de cualquier medio legítimo, y se le tropezado con problemas entre dominios si se trató de fingir de todos modos. Y sin duda se mantenga alejado de cualquier cosa que se parece a un href="http://en.wikipedia.org/wiki/Clickjacking" rel="nofollow noreferrer"> clickjacking solución - es obligado a dejar de trabajar (y se siente mal también).
Es posible que pueda piratear algo, dependiendo de la precisión que tiene que ser. Esto implicaría el seguimiento de la secuencia de eventos que suceden cuando el usuario ha puesto su ratón en la zona de la bandera y luego a la izquierda de la página (infiriendo que se hace clic en el anuncio). Se perderá algunos, y es posible atrapar algunos falsos positivos también.
Se trabajaría algo como:
- Dejar el div que cubre en su lugar
- onMouseOver, ocultar el div y establecer una onbeforeunload controlador de eventos que registra un "clic" a través de un puesto de AJAX (o similar)
- cuando el ratón se mueve fuera del área del banner que significa que no haga clic en el anuncio, por lo muestran el div de nuevo y eliminar el controlador de eventos
Me guesstimate se obtendría aproximadamente el 80-90% de precisión, pero vas a tener que probar en una gran cantidad de navegadores. También es asumir las cargas de anuncios en la misma ventana y no uno nuevo. Si se carga en uno nuevo, entonces creo que va a ser aún más difícil.