3

我正在使用 codeigniter 框架,目前正在研究社交网络之类的东西。我的问题是,当用户单击提要链接时,我需要通知用户他们的朋友活动而不重新加载页面。我尝试了以下脚本,

<script>
setInterval(function() {
$('#reload').fadeOut("slow").load('user_feeds').fadeIn("slow");
}, 10000);
</script>

它增加了我的服务器的负载。实现此目的的任何其他想法。

提前致谢。

4

3 回答 3

0

然后尝试减少时间间隔

<script>
 setInterval(function() {
 $('#reload').fadeOut("slow").load('user_feeds').fadeIn("slow");
 }, 1000);
</script>
于 2012-09-26T07:32:54.757 回答
0

这实际上是一个非常有趣的问题,您需要的是COMET的实现。有一个使用 Comet 的事件路由总线,称为 COMETD。COMETD 也有 javascript 实现和 Jquery 的绑定。http://cometd.org/documentation/2.x/cometd-javascript

于 2012-09-26T08:03:15.777 回答
0

Manoj 您在这里尝试实现的是通知和驻留在服务器上的数据源,因此您无法从浏览器通过从服务器拉取或推送来做到这一点。

拉你可以通过持续轮询/频繁轮询来实现 - 通常通过设置超时并获取通知。

推送 - 理想情况下不是真正推送,您可以通过结合 AJAX+Comet 来实现这一点,这也可以通过长轮询来实现,在这种情况下,您与服务器保持恒定连接以获取任何新更新,并在有更新时将数据返回到服务器。

让我知道这是否有帮助或您需要更多信息

于 2012-09-26T07:48:47.080 回答