Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 缺少iframe ie8。相对定位不';无法解决问题_Javascript_Html_Css_Iframe_Internet Explorer 8 - Fatal编程技术网

Javascript 缺少iframe ie8。相对定位不';无法解决问题

Javascript 缺少iframe ie8。相对定位不';无法解决问题,javascript,html,css,iframe,internet-explorer-8,Javascript,Html,Css,Iframe,Internet Explorer 8,我正在使用他们的PHP和Javascript在网站上实现第三方2fa解决方案(Duo Web)。 除了IE8之外,我所有浏览器都可以使用它。 通过初始登录屏幕后,将加载2fa登录页面,并且应具有2fa提示的iframe为空 在阅读了一些线程之后,ie8中iframe的正常解决方案似乎是从嵌入页面中删除相对位置,或者将其交给iframe。 由于我无法访问该页面,我在框架中添加了相对定位,但没有效果。奇怪的是,这只发生在你第一次访问2fa页面时 重新加载页面将正确显示iframe。代码似乎也存在。D

我正在使用他们的PHP和Javascript在网站上实现第三方2fa解决方案(Duo Web)。
除了IE8之外,我所有浏览器都可以使用它。
通过初始登录屏幕后,将加载2fa登录页面,并且应具有2fa提示的iframe为空

在阅读了一些线程之后,ie8中iframe的正常解决方案似乎是从嵌入页面中删除相对位置,或者将其交给iframe。
由于我无法访问该页面,我在框架中添加了相对定位,但没有效果。奇怪的是,这只发生在你第一次访问2fa页面时

重新加载页面将正确显示iframe。代码似乎也存在。Duo中有一个选项,可以在到达2fa页面时自动发送登录请求。启用此选项后,请求将显示在Duo应用程序中,即使iframe为空,您也可以正确登录

因此,代码似乎可以工作,iframe只是空白。同样,这只发生在第一次访问页面时。之后,iframe将正确显示,直到浏览器关闭并重新打开

我不能显示确切的代码,因为这是工作相关的,但它基本上是

<div id="iframe_container" style="text-align:center;width:100%;">
    <iframe id="duo_iframe" frameborder="0">Loading...</iframe>
    // this form passes data along when response comes back
    <form method="POST" id="duo_form"> 
        <input type="hidden"/>
        <input type="checkbox"/><label for="checkbox"><small>Remember this device</small></label>
    </form>
    // form to log user out and send them back to normal login page
    <form method="GET" action="url">
        <input type="hidden" />
        <input type="hidden" />
        <input type="submit" id="submit" value="Go Back">
    </form>
</div>

我正在兼容模式下运行,但禁用它并不能解决问题。任何想法都将不胜感激。

结果证明这是一种竞赛条件。当第一次加载嵌入页面时,它的初始化Javascript在元素可用之前启动。刷新主页时,嵌入的内容会被缓存,以便在启动js之前加载。添加一个在几秒钟后调用init函数的超时可以修复该问题

#duo_iframe
{
    width: 100%;
    min-width: 304px;
    max-width: 620px;
    height: 330px;
    background: transparent;
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
}