在不闪烁/闪烁的情况下重新加载iframe(在Javascript中)
我想问一下,是否有人有一个简单的解决方案,允许我重新加载/刷新iframe,但在页面重新加载时不会闪烁/闪烁,这是可能的吗? 也许可以先设置模糊的动画,然后再设置模糊的动画,而不是闪烁/闪烁?我不知道有什么意见会有帮助 谢谢 下面是我现在如何重新加载iframe在不闪烁/闪烁的情况下重新加载iframe(在Javascript中),javascript,jquery,ajax,Javascript,Jquery,Ajax,我想问一下,是否有人有一个简单的解决方案,允许我重新加载/刷新iframe,但在页面重新加载时不会闪烁/闪烁,这是可能的吗? 也许可以先设置模糊的动画,然后再设置模糊的动画,而不是闪烁/闪烁?我不知道有什么意见会有帮助 谢谢 下面是我现在如何重新加载iframe document.getElementById("FrameID").contentDocument.location.reload(true); 感谢您的帮助。最简单的方法: 在DOM外部或隐藏元素中创建新的iframe 将页面加载
document.getElementById("FrameID").contentDocument.location.reload(true);
感谢您的帮助。最简单的方法:
要真正交换它们,只需让它们彼此相邻,并切换每一个的
显示:none/block
css。确实无法避免闪烁,因为这是页面刷新和呈现新内容
您可以在刷新时隐藏iframe。在iframe中,当DOM就绪时,通过parent.functionName()调用某个父函数,然后使iframe可见。您可以尝试将
iframe
放在容器div
中:
<div id="iframe-container">
<iframe src="..."></iframe>
</div>
希望这能起作用,我还没有测试过。您还需要使用CSS。不,我认为这是不可能的。它需要重新加载页面,所以总是有点闪烁。它被称为FOUC,不容易修复。在通常与CSS相关的地方,在本例中与iFrame源代码相关。酷!!:)但是你如何交换它们呢?(我从未见过这听起来超级酷)我添加了一个example@compcobalt我想有很多方法,但最简单的方法可能是将新的放在DOM中显示的一个之后,然后隐藏旧的并显示新的。我不确定这会有多快。就像@Thor84no所说的,让他们一个挨着一个,简单地显示/隐藏将是最简单和最快的。谢谢。我处境中的救星
var container = document.getElementById('iframe-container');
var iframe2 = document.createElement('iframe');
iframe2.src = 'http://new.url.com';
iframe2.style.visibility = 'hidden';
container.appendChild(iframe2);
container.removeChild(container.getElementsByTagName('iframe')[0]);
iframe2.style.visibility = 'visible';