2011-03-11 25 views
6

He intentado muchas propiedades de la ventana para ver si una página en un iframe puede decir si está en un iframe. Lo he intentado:Comprobar si la página está en Iframe para Google Chrome

if(top.location!= self.location) //doesn't work in Google Chrome 
    alert("I am in an iframe!") 

Y esto no funciona (funciona en todos los navegadores, pero Chrome). Estoy escribiendo un userscript para Firefox y Chrome pero Chrome realmente no se comporta. ¿Hay alguna forma de saber si Chrome puede detectar si su página está en un iframe?

+0

http://jsfiddle.net/hpVec/ Parece estar funcionando bien en Chrome. –

+0

var in_iframe = (window.location! = Window.parent.location); –

Respuesta

15

Esto funciona para los marcos que supongo que también trabaja con iFrames

if (top === self) { 
    // no frame 
} else { 
    //frame 
} 
+0

¡Esto es increíble (funciona)! Gracias – user654628

+0

Nota: Esto no funciona en ie8 – iturgeon

0

window.frameElement está apoyado, incluso en las más antiguas de los navegadores. Identifica un iframe, embebido u objeto en el que está incrustada la ventana actual.

if(!!window.frameElement){ 
    //code to be executed if we are in an iframe 
} 

More here.

Cuestiones relacionadas