检查父窗口是否为iframe

时间:2011-01-04 14:08:16

标签: javascript jquery 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');
}

我的问题不重复。这是一个不同的案例。

3 个答案:

答案 0 :(得分:102)

如果窗口不是frame / iframe,则为true:

if(self==top)

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

if(parent==top)

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

答案 1 :(得分:32)

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

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

答案 2 :(得分:23)

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