我有一个网页,它允许用户执行各种操作,进而修改数据库。此外,此 Web 应用程序需要跟踪数据库中随时间变化的各个字段。每隔几秒钟刷新一次页面是实现这一点的最佳方法吗?例如,如果页面上有很长的列表需要滚动,则由于页面刷新而不断重置,因此很难查看该列表。我知道,有办法保留卷轴的位置。但是,我可以使用更有效的东西吗?
10 回答
使用带有计时器的 AJAX。使用它我们可以刷新页面中的特定部分。
这个任务很容易在 html 标题部分中使用以下代码
<head> <meta http-equiv="refresh" content="30" /> </head>
它将在 30 秒后刷新您的页面。
简短的回答是否定的。您可以使用 ajax 来更新必要的组件。这减少了加载时间并防止您的页面重置。
我认为您需要类似于现在普遍称为 Comet 的反向 AJAX 的东西。它是服务器将数据推送到客户端,而不是浏览器从服务器/数据库轮询数据。http://en.wikipedia.org/wiki/Comet_(programming)有很好的介绍。已经有许多框架(例如 DWR、ICEFaces)支持这种模式。
带定时器的 AJAX
无需过多介绍,通常您可能需要考虑使用 Javascript 以 Ajax 样式的方式动态生成 HTML。做正确的事情更具挑战性,但从用户体验的角度来看,这是正确的方法。
查看Yahoo 用户界面库以获取指导和帮助——它确实比尝试手动完成所有事情要容易得多。
如果要自动刷新整个页面,请在页眉中使用meta html标签。但最好使用AJAX自动刷新页面的指定部分,以避免加载时间的弹性
这听起来像是更适合 Flash 或 Silverlight 应用程序的功能。使用精心设计的 AJAX 解决方案可能比您的更有效,但现实情况是网页为实时内容提供了糟糕的媒介。
我认为以下是标题中刷新命令的一个很好的解决方案。
当您调用 httpSuccess 函数时,请尝试使用:
server.httpSuccess("text/html","Refresh: 30\r\n");