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

Is there a way to check whether the html is loaded on Iframe

本文关键字:加载 Iframe 是否 html 检查 有没有      更新时间:2023-09-26

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

我的问题是,我想检查2.html是加载在Iframe上,还是直接加载在单独的浏览器上,而不将其放入Iframe中。只能从2.html进行检查。

朋友们,有什么建议吗。提前谢谢。

在iframe中加载时,window.parent指向父窗口,但在单独的窗口中加载时。parent指向窗口本身:

var loadinInIframe = window.parent != window;

使用javascript,如果window.parent.location和window.location,您可以使用document.location进行检查,如果父位置不是您的应用程序位置,则您可能是iFramed

在iframe的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 }

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

这要归功于此。希望能有所帮助。