刷新页面没有屏幕空白?

时间:2012-03-28 00:31:39

标签: php javascript html javascript-events

好的,所以我想知道GMail和类似的东西如何更新那里的电子邮件,而不会让整个屏幕变成空白。

我正在研究web tools site here。正如您在右侧边栏上看到的那样,有一个新闻Feed显示了某些成员的近期事件。

这是一个简单的PHP脚本,显示最新事件,这些事件存储在MYSQL表中。然后,这个PHP脚本被设置为侧边栏。

我希望侧边栏自动更新。它可以按时间间隔(例如每10秒)更新一次,也可以在添加新事件时更新。

我尝试过每5秒进行一次元刷新(在PHP脚本上)......虽然效果不好。每隔5秒钟,整个侧边栏将变为空白,然后重新出现。此外,每当侧边栏刷新时,站点的装载轮都会不断出现。

有更简单的方法吗?也许使用某种类型的javascript事件来检查新事件,然后将它们吐出来,而不是刷新整个页面?

感谢您的帮助!

编辑:好的伙计们,感谢您的帮助!我用AJAX了!但是,我现在遇到了另一个问题......请继续阅读......

我使用javascript在每个事件的右下角显示时间。我使用的代码与此类似......

<div class="event">
<p>The event text</p>
<script type="text/javascript">
document.write(get_time(1332900003));
</script>
</div>

这将是实际存储在数据库中的HTML。问题是AJAX正在抓取这个代码,将它吐出(在iframed页面上),然后时间片段没有被执行(其他一切正常)。

我更喜欢使用Javascript而不是PHP来显示时间,因为使用JS你不必担心时区差异。

无论如何我能解决这个问题吗?再次感谢您的快速回复! :)

2 个答案:

答案 0 :(得分:2)

您可以在此处查看:

Ajax允许您在不刷新页面的情况下从后端发送/获取数据

http://api.jquery.com/category/ajax/

答案 1 :(得分:2)

基本上,如果你想模仿GMAIL和各种其他网站如何呈现页面然后在那里操作它的概念,而不是在事务之间重新加载页面,因为j08691在评论中指出AJAX是你要寻找的方法,但是它需要知识JavaScript和一些服务器端脚本,例如PHP。

为了方便构建一个甚至只是一个网站的可扩展软件,我建议你研究一下jQuery,Prototype,Dojo之类的JavaScript库。我的个人风格是jQuery,因为在我看来它非常稳定,有一个庞大的支持社区,所有这些都很容易学习。

它将有助于快速开发基于JavaScript的代码,该代码将跨浏览器兼容,而无需在本机javascript中编写冗长的脚本,就像使用库备份它更容易实现一样。

http://www.jquery.com - 核心库

http://www.jqueryui.com - 图书馆的扩展

此外还有成千上万的小插件可以帮助您更快地开发整体用户体验。

相关问题