我的问题是我有两个html文件,比如说1.html和2.html。文件的内容是 1.HTML 它由Iframe组成。 Iframe的来源是2.html。 2.HTML 这是一个示例html页面。
我的问题是,我想检查2.html是在iframe上加载还是直接加载到单独的浏览器上,而不是将其放在Iframe中。检查必须仅从2.html完成。
任何建议的朋友。 提前谢谢。
答案 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。 希望有所帮助。