iframe在加载时闪烁“白色”

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

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

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

但不起作用。 任何其他想法摆脱这个?

尝试使用:

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

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

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

得到一些困难:

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

在Chrome和Safari上工作。

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

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

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

对我有用的是改变:

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

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