Estoy tratando de detectar clics en un iframe , pero descubrí que no se pueden detectar clics en iframe .
Así que estoy pensando en un trabajo en torno a:
agregue una capa transparente (un div ) sobre el iframe . Si el z-index iframe es 0, el de la capa sería 1 o mayor.
Luego estaré detectando clics en esta capa, lo que debería ser factible.
Y la capa debe tener exactamente las mismas dimensiones que el iframe y colocarse exactamente en la misma posición.
Me pregunto cómo hacer eso?
Si agrego la capa antes del iframe en HTML, la primera se mostrará en el eje Y sobre la última, pero el efecto deseado es que la primera se muestre en el eje Z sobre la última.
Es posible que pueda usar el código JavaScript para encontrar las dimensiones y posiciones del iframe, y establecer los mismos valores en la capa, pero parece que no es elegante.
¿Alguna solución mejor?
O bien, si alguien puede enseñarme cómo destecnificar clics en iframe, ¡eso sería óptimo!
¡Cualquier sugerencia será apreciada!
Que yo sepa, no hay forma de realizar un seguimiento de los clics en un iframe si no tiene acceso de desarrollador para editarlo. Si tiene acceso a él, haga una búsqueda rápida en Google para rastrear iframes con GTM. Asumiendo que no tienes acceso:
Agregar una capa sobre el iframe debería ser lo suficientemente fácil creando un bloque con un fondo transparente usando la posición: absoluta, aunque no estoy tan seguro de usarlo para rastrear los clics. Aquí hay un enlace útil para rastrear los clics en un div: https://www.trevorayers.com/track-div-clicks-in-google-tag-manager/
Yo intentaría algo como esto:
<div class="iframe-parent"> <div class="transparent-block"></div> <iframe></iframe> </div> .iframe-parent { width: 1150px; height: 800px; position: relative; } .transparent-block { background-color: transparent; width: 100%; height: 100%; position: absolute; }Luego use el Administrador de etiquetas de Google para rastrear los clics en el selector de bloque transparente.
No probado, pero interesado en ver si esto funciona para usted.
Puede intentar usar el posicionamiento CSS para esto. Un div separado con posición fija o absoluta.
La respuesta anterior debería funcionar.