Vérifiez si la fenêtre parent est iframe ou pas
Comment puis-je dire à partir d'une page dans un iframe, si le parent est lui-même également dans une iframe?
Explication:
Ma page d'accueil home.html
contient une iframe
<iframe src="sample.html"></iframe>
J'ai besoin de détecter si home.html
(ie: parent de sample.html
) est dans une iframe.
Code 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.
- C'est un peu floues... avez-vous une iframe dans une page dans une iframe? Voulez-vous vérifier si une page est dans une iframe, ou si la page contenant l'iframe est dans une iframe?
- Dupliquer: stackoverflow.com/questions/326069/...
- Qu'est-ce que les différents alors? :s
- une fois home.html est un iframe et puis j'ai besoin de détecter home.html est un iframe à partir de sample.html.
- aucune réponse œuvres
Vous devez vous connecter pour publier un commentaire.
Cela est vrai si une fenêtre n'est pas une frame/iframe:
Si vous voulez voir si la fenêtre parent de la fenêtre est un cadre, utilisation:
C'est une simple comparaison de
top
(le plus haut de la fenêtre de la fenêtre de la hiérarchie) et un autre objet de la fenêtre (self
ouparent
).if(parent==top)
(renvoie true si la fenêtre parent n'est pas une image)window
-résultats d'objets dans un cross-domain-erreur(c'est tout ce dont nous parlons ici,window
-objets, rien de plus). Liés question n'a rien à voir avec la question ici.Vérifier si
window.frameElement
n'est pas null et voir si sa nodeName propriété est "IFRAME":iframe
élément qui contient la page en cours (quand il est chargé à l'intérieur par exemple).var isInIFrame = window.location !== window.parent.location;
marcherait aussi bien.