我的问题是我有两个html文件,比如说1.html和2.html . 文件的内容是1.html它由Iframe组成 . Iframe的来源是2.html . 2.html这是一个示例html页面 .
我的问题是,我想检查2.html是在iframe上加载还是直接加载到单独的浏览器上,而不是将其放在Iframe中 . 检查必须仅从2.html完成 .
有什么建议朋友 . 提前致谢 .
当在iframe中加载时,window.parent指向父窗口,但是当加载到单独的窗口window.parent指向窗口本身时:
var loadinInIframe = window.parent != window;
使用javascript你可以使用document.location检查window.parent.location和window.location,如果父位置不是你的app位置那么你可能是iFramed
在iframe的 onload 事件中绑定一个函数,并在父页面上设置一个加载的变量
onload
在iframe上
window.onload = function() { parent.iframeLoaded = true; }
在父页面上,只需声明变量以保存该值
var iframeLoaded = false;
现在,您可以在需要时从父页面检查此var
if(iframeLoaded) { // Do something }
if (top === self) { not in a frame } else { in a frame }
顶部和自身都是窗口对象(以及父对象),因此您可以看到窗口是否是顶部窗口 .
归功于this . 希望有所帮助 .
4 回答
当在iframe中加载时,window.parent指向父窗口,但是当加载到单独的窗口window.parent指向窗口本身时:
使用javascript你可以使用document.location检查window.parent.location和window.location,如果父位置不是你的app位置那么你可能是iFramed
在iframe的
onload
事件中绑定一个函数,并在父页面上设置一个加载的变量在iframe上
在父页面上,只需声明变量以保存该值
现在,您可以在需要时从父页面检查此var
顶部和自身都是窗口对象(以及父对象),因此您可以看到窗口是否是顶部窗口 .
归功于this . 希望有所帮助 .