Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML中的iFrame_Javascript_Html - Fatal编程技术网

Javascript HTML中的iFrame

Javascript HTML中的iFrame,javascript,html,Javascript,Html,我在html中使用iFrame。将不同的html页面加载到iFrame中。在该html页面中我有图像。每当我将图像加载到iFrame中时,我都会闪烁 我们可以通过使用iFrame来停止闪烁吗 怎么办?嗯,我不完全确定你想要消除哪种闪烁,但我想这与浏览器加载有关,然后用图像显示你的新页面 除了将下一幅图像加载到背景上的另一个iframe中,然后在当前可见和新加载的iframe之间切换之外,我想不出任何好的方法 更大的问题是,为什么需要使用iframe?您是否正在从您不拥有的站点加载内容?如果不是,

我在html中使用iFrame。将不同的html页面加载到iFrame中。在该html页面中我有图像。每当我将图像加载到iFrame中时,我都会闪烁

我们可以通过使用iFrame来停止闪烁吗


怎么办?

嗯,我不完全确定你想要消除哪种闪烁,但我想这与浏览器加载有关,然后用图像显示你的新页面

除了将下一幅图像加载到背景上的另一个iframe中,然后在当前可见和新加载的iframe之间切换之外,我想不出任何好的方法


更大的问题是,为什么需要使用iframe?您是否正在从您不拥有的站点加载内容?如果不是,请考虑Ajax和其他这样的技术。

有一些事情可以帮助解决这个问题。

首先,确保指定图像的宽度和高度。然后,浏览器将为图像保留空间,而不是在已知图像大小时调整保留空间的大小


如果您想提供一个示例,我们可以在必要时讨论预加载。

您可以通过向。一旦启动onLoad回调,您将能够淡入iframe及其内容。这就是延迟加载的工作原理。例如:

<script>
 function showImage() {
  var iframe = document.getElementById('ifrm'); 
  iframe.style.opacity = 1; // using opacity. You can transition this
  iframe.style.display = 'block' // using display. No transition
 }

</script>
#ifrm {
  opacity: 0; // Before the iframe load, make sure it is not visible
  transition: 0.3s // This will make your iframe fade in on load
}
在上面的示例中,Iframe将呈现您的内容。一旦上述iframe完成加载,它将尝试调用名为showImage的函数。您所要做的就是在脚本文件中定义showImage。现在可以使用此函数查找iframe DOM节点,并更改样式使其淡入或显示display:block。例如:

<script>
 function showImage() {
  var iframe = document.getElementById('ifrm'); 
  iframe.style.opacity = 1; // using opacity. You can transition this
  iframe.style.display = 'block' // using display. No transition
 }

</script>
#ifrm {
  opacity: 0; // Before the iframe load, make sure it is not visible
  transition: 0.3s // This will make your iframe fade in on load
}
希望这有帮助