iframe在加载时闪烁“白色”

时间:2010-02-28 13:58:22

标签: jquery events iframe background

我在我的项目中使用iframe,似乎每当它在不透明背景上加载内容时 - 它会在正确显示之前闪烁“白色”约1秒。

似乎它在jQuery脚本准备好之前触发了加载的事件。我试过了

style="visibility:hidden;" onload="this.style.visibility = 'visible';"

但不起作用。还有其他想法摆脱这个吗?

4 个答案:

答案 0 :(得分:4)

尝试使用:

style="display:none" onload="this.style.display = 'block';"

visibility:hidden实际上并没有“隐藏”元素 - 它仍然会占用它可见的空间。 display:none实际上使元素完全不可见,就好像它不存在一样。

答案 1 :(得分:4)

如果您可以控制框架页面 - 将该页面上的背景颜色设置为透明。大多数浏览器默认为白色

答案 2 :(得分:0)

我遇到了一些困难:

style="display:none" onload="this.style.display = 'block';"

在Chrome和Safari上工作。

如果这些不适合您,请尝试:

style="opacity: 0;" onload="this.style.opacity = 1;"

答案 3 :(得分:0)

我确实遇到了这个问题,并尝试了此页面上的所有补救措施,但没有成功。它在Chrome上闪烁,而不是FireFox。

对我有用的是改变:

$("#iframe").prop('src', url);

$("#iframe").attr('href', url);