55 votes

vérifier si la fenêtre parente est iframe ou non

Comment puis-je savoir à partir d'une page au sein d'une iframe, si le parent lui-même est également dans une iframe?

Explication

Ma page d'accueil contient home.html d'iframe

 <iframe src="sample.html"></iframe>
 

J'ai besoin de détecter si home.html (c'est-à-dire: parent de sample.html) se trouve dans un iframe.

Codes dans sample.html

 if(self==window)
{
    alert('home.html is not in iframe');
}
else
{
    alert('home.html is in iframe');
}
 

Ma question n'est pas un doublon. C'est un cas différent. Aidez moi.

Merci d'avance

116voto

Dr.Molle Points 61743
 if(self==top)
 

est vrai si une fenêtre n'est pas un cadre / iframe

si vous voulez voir si la fenêtre parente de la fenêtre donnée est un cadre, utilisez

 if(parent==top)
 

C'est une simple comparaison entre top (la fenêtre la plus en haut de la hiérarchie de la fenêtre) et un autre window-object (ce que sont self ou parent )

36voto

Pink Duck Points 121

Vérifiez si window.frameElement n'est pas null et voyez si sa propriété nodeName est "IFRAME":

 var isInIframe = window.frameElement && window.frameElement.nodeName == "IFRAME";
 

24voto

Sumith Harshan Points 1395
var isInIFrame = (window.location != window.parent.location);
if(isInIFrame==true){
    // iframe
}
else {
    // no iframe
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X