检查父窗口是否是iframe

如何从iframe中的页面告知,如果父本身也在iframe中?

说明:

我的主页home.html包含一个iframe

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

我需要检测如果home.html (即sample.html父)是否在iframe中。

sample.html代码:

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

我的问题不是重复的。 这是一个不同的情况。

如果一个窗口不是一个框架/ iframe,这是真的:

 if(self==top) 

如果您想查看给定窗口的父窗口是否为框架,请使用:

 if(parent==top) 

它是top (窗口层次结构的最顶层窗口)和另一个窗口对象( selfparent层)的简单比较。

检查window.frameElement是否为空,并查看其nodeName属性是否为“IFRAME”:

 var isInIframe = window.frameElement && window.frameElement.nodeName == "IFRAME"; 
 var isInIFrame = (window.location != window.parent.location); if(isInIFrame==true){ // iframe } else { // no iframe }