将iFrame CSS设置为在加载期间显示:none

时间:2012-09-30 13:31:33

标签: javascript jquery html css iframe

我有这个:

<div class="upload_slide">
    <iframe class="upload_iframe" style="visibility:hidden;"></iframe>
</div>

如果我然后将一些文件发布到iFrame并将.upload_slide设置为display:none;,那么当它加载时,这是否会影响iFrame的加载或检测加载完成的时间?

5 个答案:

答案 0 :(得分:8)

应该没有问题,但如果有,一个好的技巧可以是将元素移出屏幕而不是隐藏它。您可以创建类似

的类
.offscreen{
    position: absolute;
    left: -5000px;
}

您可以根据需要添加和删除。

答案 1 :(得分:8)

Firefox目前确实存在display:none:

的问题
  

有些浏览器认为当&#34; display:none&#34;应用于替换元素(如Flash或iframe),不再需要该元素的可视信息。因此,如果稍后由CSS显示该元素,则浏览器实际上将从头开始重新创建可视数据。

     

我想iframe默认为&#34; display:none;&#34;使浏览器跳过HTML的呈现,因此标签没有任何尺寸。我会将可见性设置为&#34;隐藏&#34;或者将其放在页面上而不是使用&#34; display:none;&#34;。

     

Steven Paligo

Link

答案 2 :(得分:4)

不,不应通过将显示设置为无来破坏iFrame的加载和负载检测。

CSS仅用于样式,它无法影响DOM。

答案 3 :(得分:1)

没有..完全没有..

CSS - display:nonevisibility:hidden仅表示浏览器不向用户显示iframe内容。

但功能可以正常运行而没有任何问题。

答案 4 :(得分:0)

据我所知,它应该可以正常工作。我一直在使用隐藏的iframe来加载一段时间并且没有任何问题。

据说我知道有些浏览器试图通过不加载隐藏的图像来提高效率,因此有些浏览器(尤其是移动浏览器)可能会对iframe执行相同操作。