【问题标题】:Flash of white screen before page & iframe loads页面和 iframe 加载前的白屏闪烁
【发布时间】:2012-03-31 22:25:03
【问题描述】:

页面加载时是否可以避免出现白屏?特别是对于我在我的页面上使用的 iframe?当父内容已经被主题化时,屏幕上有一个白色的盒子看起来很奇怪。

提前致谢!! :)

【问题讨论】:

标签: javascript html css


【解决方案1】:

您是否尝试过将 iframe 的背景颜色设置为父页面的背景颜色?

【讨论】:

  • 我没有为 iframe 设置任何背景。我应该这样做吗?因为它可能只会影响框架已经加载时的显示方式。我的 iframe 的背景现在是透明的,因此框架的内容位于父页面主题的顶部。您可以查看该网站:giroapps.com 谢谢! :)
【解决方案2】:

如果 iframe 在同一个域中,您可以使用 JavaScript 在父文档的 iframe 上设置 style.visibility= 'hidden',然后让子文档到达父文档并调用函数来设置 visibility back到visible 当它们加载到足以拥有具有正确背景的样式表时。 (onload 在子框架上,或者可能更早。)

我不知道这是否值得,真的。人们习惯于在页面加载时渲染不完整。

【讨论】:

  • yup..iframes 在同一个域上..我该怎么做呢? :) 提前谢谢!!
  • 好吧,在最简单的情况下,您可以在父文档中使用<iframe id="fooframe" src="child.html" style="visibility: hidden">,在子文档中使用<script type="text/javascript">window.onload= function() { window.parent.getElementById('fooframe').style.visibility= 'visible'; };</script>。但是最好只在启用 JavaScript 时才发生隐藏,否则 iframe 将永远不会出现在 JS 不可用的浏览器上。如果子文档包含大量图像内容,您可能希望在onload 之前再次启用可见性。
【解决方案3】:

您可以让 iframe 在加载之前不可见。

使用以下iframe.style.visibility='hidden'; 使其不可见将使您的 iframe 隐藏,但仍会占用原来的空间

当它加载时,只需使用iframe.style.visibility='visible'; 使其再次可见,您就不会看到任何闪烁..

干净简单的imo。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多