【问题标题】:Refresh Page Without Screen Going Blank?刷新页面没有屏幕变黑?
【发布时间】:2012-03-28 00:31:39
【问题描述】:

好的,所以我想知道 GMail 和类似的东西如何在不让整个屏幕变黑的情况下更新那里的电子邮件。

我正在处理web tools site here。正如您在右侧边栏中看到的,有一个新闻提要显示某些成员的最近事件。

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

我希望边栏自动更新。它可以按时间间隔(例如每 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 页面上),然后时间 sn-p 没有被执行(其他一切正常)。

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

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

【问题讨论】:

  • 它叫做 AJAX。
  • 好的...谢谢,我会调查一下:)
  • 在下面跟进我的回答。如果您需要一些帮助来整理和运行它们,请随时私下给我发消息,我会很乐意不时为您提供帮助。

标签: php javascript html javascript-events


【解决方案1】:

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

为了方便构建一个可扩展的软件,甚至只是一个网站,我建议研究一个 JavaScript 库,如 jQuery、Prototype、Dojo 等。我个人的风格是 jQuery,因为我认为它非常稳定,拥有庞大的支持社区,而且所有方面都很容易学习。

它将有助于快速开发基于 JavaScript 的代码,这些代码将与跨浏览器兼容,而无需在本机 JavaScript 中编写冗长的脚本来执行相同的操作,因为您可以通过支持它的库更轻松地实现。

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

http://www.jqueryui.com - 库的扩展

此外,您还可以选择数十万个小插件来帮助您更快地开发整体用户体验。

【讨论】:

  • 谢谢你,克里斯!我确实使用 ajax 实现了它,但现在我遇到了一个不同的问题,有什么想法吗?谢谢!
【解决方案2】:

你可以在这里查看:

Ajax 让您无需刷新页面即可从后端发送/获取数据

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

【讨论】:

    猜你喜欢
    • 2012-08-14
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 2014-08-21
    • 2018-12-25
    • 1970-01-01
    相关资源
    最近更新 更多