有没有办法检查是否在iframe上加载了html

时间:2012-03-19 07:36:57

标签: javascript html iframe

我的问题是我有两个html文件,比如说1.html和2.html。文件的内容是 1.HTML 它由Iframe组成。 Iframe的来源是2.html。 2.HTML 这是一个示例html页面。

我的问题是,我想检查2.html是在iframe上加载还是直接加载到单独的浏览器上,而不是将其放在Iframe中。检查必须仅从2.html完成。

任何建议的朋友。 提前谢谢。

4 个答案:

答案 0 :(得分:5)

当加载到iframe时,window.parent指向父窗口,但是当加载到单独的窗口window.parent指向窗口本身时:

var loadinInIframe = window.parent != window;

答案 1 :(得分:0)

使用javascript你可以使用document.location检查window.parent.location和window.location,如果父位置不是你的app位置那么你可能是iFramed

答案 2 :(得分:0)

在iframe的onload事件中绑定一个函数,并在父页面上设置一个加载的变量

在iframe上

window.onload = function() {
   parent.iframeLoaded = true;
}

在父页面上,只需声明变量以保存值

var iframeLoaded = false;

现在,您可以在需要时从父页面检查此var,如

if(iframeLoaded) {
    // Do something
}

答案 3 :(得分:0)

if (top === self) { not in a frame } else { in a frame }

Top和self都是窗口对象(以及父对象),因此您可以看到窗口是否是顶部窗口。

归功于this。 希望有所帮助。