我正在使用 codeigniter 框架,目前正在研究社交网络之类的东西。我的问题是,当用户单击提要链接时,我需要通知用户他们的朋友活动而不重新加载页面。我尝试了以下脚本,
<script>
setInterval(function() {
$('#reload').fadeOut("slow").load('user_feeds').fadeIn("slow");
}, 10000);
</script>
它增加了我的服务器的负载。实现此目的的任何其他想法。
提前致谢。
我正在使用 codeigniter 框架,目前正在研究社交网络之类的东西。我的问题是,当用户单击提要链接时,我需要通知用户他们的朋友活动而不重新加载页面。我尝试了以下脚本,
<script>
setInterval(function() {
$('#reload').fadeOut("slow").load('user_feeds').fadeIn("slow");
}, 10000);
</script>
它增加了我的服务器的负载。实现此目的的任何其他想法。
提前致谢。
然后尝试减少时间间隔
<script>
setInterval(function() {
$('#reload').fadeOut("slow").load('user_feeds').fadeIn("slow");
}, 1000);
</script>
这实际上是一个非常有趣的问题,您需要的是COMET的实现。有一个使用 Comet 的事件路由总线,称为 COMETD。COMETD 也有 javascript 实现和 Jquery 的绑定。http://cometd.org/documentation/2.x/cometd-javascript
Manoj 您在这里尝试实现的是通知和驻留在服务器上的数据源,因此您无法从浏览器通过从服务器拉取或推送来做到这一点。
拉你可以通过持续轮询/频繁轮询来实现 - 通常通过设置超时并获取通知。
推送 - 理想情况下不是真正推送,您可以通过结合 AJAX+Comet 来实现这一点,这也可以通过长轮询来实现,在这种情况下,您与服务器保持恒定连接以获取任何新更新,并在有更新时将数据返回到服务器。
让我知道这是否有帮助或您需要更多信息