自动刷新网页
Posted
技术标签:
【中文标题】自动刷新网页【英文标题】:Auto refresh web page 【发布时间】:2010-10-01 12:30:44 【问题描述】:我有一个网页,它允许用户执行各种操作,进而修改数据库。此外,此 Web 应用程序需要跟踪数据库中随时间变化的各个字段。每隔几秒钟刷新一次页面是实现这一点的最佳方法吗?例如,如果页面上有很长的列表需要滚动,则很难查看列表,因为页面会因刷新而不断重置。我知道,有办法保留卷轴的位置。但是,我可以使用更高效的方法吗?
【问题讨论】:
【参考方案1】:放在head标签下
<meta http-equiv="refresh" content="5">
这将每 5 秒刷新一次页面。
其他选项请参考link text
【讨论】:
在 head 标签下放什么? @PhilipRego 为什么,这条线本身。【参考方案2】:将 AJAX 与计时器结合使用。使用它我们可以刷新页面中的特定部分。
【讨论】:
【参考方案3】:这个任务很容易在 html 标题部分使用以下代码
<head> <meta http-equiv="refresh" content="30" /> </head>
它会在 30 秒后刷新您的页面。
【讨论】:
【参考方案4】:简短的回答是否定的。您可以使用 ajax 来更新必要的组件。这样可以减少加载时间并防止您的页面重置。
【讨论】:
【参考方案5】:我认为您需要类似于现在普遍称为 Comet 的反向 AJAX 的东西。它是服务器将数据推送到客户端,而不是浏览器从服务器/数据库轮询数据。 http://en.wikipedia.org/wiki/Comet_(programming) 有很好的介绍。 已经有很多框架(例如 DWR、ICEFaces)支持这种模式。
【讨论】:
【参考方案6】:带有计时器的 AJAX
【讨论】:
【参考方案7】:无需过多介绍,通常您可能需要考虑使用 javascript 以 Ajax 样式的方式动态生成 HTML。正确行事更具挑战性,但从用户体验的角度来看,这是正确的方法。
查看Yahoo user-interface library 以获得指导和帮助——它确实比手动完成所有事情都容易得多。
【讨论】:
我不会再使用任何带有“Yahoo”这个词的东西了。 ;)【参考方案8】:如果要自动刷新整个页面,请在页眉中使用meta html标签。但最好使用AJAX自动刷新页面的指定部分,以避免加载时间的弹性
【讨论】:
【参考方案9】:这听起来像是更适合 Flash 或 Silverlight 应用程序的功能。使用精心设计的 AJAX 解决方案可能比您的更有效,但现实情况是网页成为实时内容的糟糕媒介。
【讨论】:
网页是实时内容的绝佳媒介。彗星、阿贾克斯等【参考方案10】:我认为下面是一个很好的解决方案,在 header 中使用刷新命令。
当你调用 httpSuccess 函数时尝试使用这个:
server.httpSuccess("text/html","Refresh: 30\r\n");
【讨论】:
以上是关于自动刷新网页的主要内容,如果未能解决你的问题,请参考以下文章