Javascript 当iframe刷新时停止闪烁

Javascript 当iframe刷新时停止闪烁,javascript,jquery,iframe,Javascript,Jquery,Iframe,我有一个iframe加载我的聊天框,但当它刷新时,它会闪烁,我该如何阻止它闪烁。我已经包含了下面的代码,我用它来刷新Iframe本身 window.setInterval("reloadIFrame();", 2000); function reloadIFrame() { window.frames["chatlogs"].location.reload(); } 提前感谢您的帮助 不仅您可能希望使用AJAX而不是iframe,而且根据需要,您可能还希望研究使用服务器端推送。要解决的问题

我有一个iframe加载我的聊天框,但当它刷新时,它会闪烁,我该如何阻止它闪烁。我已经包含了下面的代码,我用它来刷新Iframe本身

window.setInterval("reloadIFrame();", 2000);

function reloadIFrame() {
window.frames["chatlogs"].location.reload();

}

提前感谢您的帮助

不仅您可能希望使用AJAX而不是iframe,而且根据需要,您可能还希望研究使用服务器端推送。要解决的问题是,当服务器上发生事件时,客户端如何更新其内容?聊天就是一个典型的例子。你有几个选择,我在下面列出

频繁投票 最简单的解决方案。每个客户端都会反复询问服务器是否有任何更新,是否最接近您的iframe实现。缺点是每个客户端请求的通信开销造成的带宽浪费

长轮询/彗星 当服务器让客户端等待更长的时间(即5秒),然后在更新发生或超时时返回,以较早者为准。使用Comet时,需要对服务器进行编码,以保持客户端连接处于打开状态,而不让任何服务器线程等待(否则服务器将耗尽线程来服务新请求,这将是一场性能噩梦)

网袋 WebSocket是HTML5中的新功能,它支持客户端和服务器之间的双向通信,是服务器端推送通信的推荐技术

你可以找到一个,哪个,猜猜怎么着?恰好是一个试图实现聊天应用程序的家伙:)

杂项

对于记录,您可以消除IFRAME闪烁,而不是保留一个IrrAm并刷新它,您的JavaScript创建一个新的隐藏的IFRAME,它具有与旧URL相同的URL和位置,并且当它加载时,它可以看到并删除旧的iFrAME.< /P>我建议您考虑使用Ajax来检索新的聊天日志,而不是每两秒钟刷新一次iFrame。这将消除闪烁(这种情况发生是因为浏览器必须重新加载页面,并且可能更糟,具体取决于网络/服务器的延迟)。感谢您的快速回复,我将如何使用AJAX来实现这一点?你知道网上有什么好的教程吗?是的,它叫谷歌。你可以从阅读开始,这本关于,或者jQuery。谷歌是你的朋友。@OptimusCrime请闭嘴,如果你想挖苦人,就上吊吧:)但一定要安静地做。