Desafortunadamente, los iFrames todavía existen. Se utilizan para incrustar contenido de una página en otra. Los marcos son cosas horribles y desagradables, muy a menudo plagados de problemas entre dominios, problemas de rendimiento, obstrucciones de diseño responsivo y otras tonterías de los abismos inferiores del infierno. Independientemente, si estás atrapado con un iFrame que también recopila datos para tu Google Analytics propiedad, por ejemplo, probablemente desee evitar al menos el primero Vista de página se lively, ya que de lo contrario contará dos veces las Vistas de página: una en la página principal y otra en el iFrame. En este consejo, le mostraré cómo evitar que se lively una etiqueta si se ejecuta en un documento que está en un iFrame.
incógnita
El boletín a fuego lento
Suscríbete al Boletín a fuego lento para recibir las últimas noticias y contenido de Simo Ahava en su bandeja de entrada de correo electrónico.
Consejo 31: Evite que Tag se lively en un iFrame
Para copiarlo fácilmente, aquí está el código:
operate() {
attempt {
return window.high !== window.self;
} catch(e) {
return false;
}
}
Como puedes ver, es una solución sencilla. El Variable de JavaScript personalizada simplemente comprueba si el window
El objeto en la página es diferente al window
objeto en el marco más externo. Por lo tanto, este script regresa verdadero si hay una diferencia, lo que significa que la página no está cargada en el marco más externo (y por lo tanto está en un iFrame), y FALSO si no hay diferencia, significa que la página es el documento “principal”. El Set off entonces se vería así:
Agregue este disparador como un Excepción a una etiqueta que se activa en el evento de vista de página, y efectivamente bloqueará el iFrame para que no envíe la vista de página.
Si desea crear una excepción “world”, que bloquee todo Para que las etiquetas no se activen cuando están en un iFrame, use el activador de evento personalizado:
A veces solo quieres bloquear el primero Vista de página en el iFrame, pero luego permite al usuario navegar de una página a otra en el marco, enviando vistas de página para las páginas siguientes. En ese caso, necesitarás un poco más de creatividad y tendrás que comprobar si referentebloqueando la Etiqueta si el Referente es el documento “principal”:
esta solución debería trabajar entre dominios, ya que simplemente verificar el window
El objeto no viola la política del mismo origen. Ha habido informes dispersos sobre la falta de confiabilidad en algunas versiones anteriores de Web Explorer (sorpresa, sorpresa), por lo que es bueno tener un respaldo si el script falla, razón por la cual envía el FALSO ante un error.