13

我有这个:

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

如果我随后将一些文件发布到 iFrame 并设置.upload_slidedisplay:none;,而它正在加载,这会影响 iFrame 的加载或检测它何时完成加载吗?

4

5 回答 5

13

不,iFrame 的加载和加载检测不应因将显示设置为无而受到影响。

CSS 只是为了样式,它没有影响 DOM 的能力。

于 2012-09-30T13:54:14.827 回答
11

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

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

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

于 2012-09-30T14:23:39.423 回答
9

Firefox 目前确实存在 display:none 问题:

一些浏览器假定当“display:none”应用于替换元素(如 Flash 或 iframe)时,不再需要该元素的视觉信息。因此,如果元素稍后由 CSS 显示,浏览器实际上将重新创建可视数据表单。

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

史蒂文·帕利戈

关联

于 2014-01-21T15:29:59.323 回答
2

没有。。一点都没有。。

CSS -display:none或者visibility:hidden只是说浏览器不向用户显示 iframe 内容。

但是该功能可以正常工作,没有任何问题。

于 2012-09-30T14:29:43.097 回答
0

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

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

于 2012-09-30T13:37:19.233 回答