jQuery - 通知库 - 轮询

时间:2011-06-28 15:09:18

标签: jquery notifications comet long-polling

是否已经为jQuery编写了通知库?一个可以提供类似于StackOverflow方式的下拉消息的消息。

寻找以下内容:
1)每隔几秒进行一次民意调查(可能选择做Comet)
2)有一个标记为读取的调用(注意到StackOverflow通过POST请求执行此操作)

4 个答案:

答案 0 :(得分:3)

你为什么需要图书馆?

客户端

<script>
setInterval(function(){
      $.getScript({url:"news.php"});
}, 10000);
</script>

服务器侧

<?php
$data = newdata();
if ($data)
{
   echo "alert('new data avaible');";
}

?>

按钮标记为已读:

服务器侧

<?php
mark_as_read($_GET['id']);

客户端

<script>
function mark_as_read(markID){
     $.ajax({"url": "mark_as_read.php?id="+markID"});

}
</script>

答案 1 :(得分:1)

看看Socket.IO。它在服务器端使用Node-js,但您可以单独使用javascript-client socket.io.js

它会选择浏览器中提供的最佳transport,并根据事件系统为您提供nice api

wiki中的different programming languages中还有一个服务器实现列表。

答案 2 :(得分:1)

已经有一段时间了,但是为了将来的参考,请查看http://pinesframework.org/pnotify/处的Pines Notify。

如果您使用的是.NET,请在http://signalr.net/查看SignalR。

Pines Notify为您提供基于javascript的弹出式通知。您可以使用jQueryUI或BootStrap来设置弹出窗口的主题,并且可以提供阻止或非阻止通知。

SignalR处理通信方面。它非常灵活,使用起来非常简单。它允许您从.NET调用javascript方法,从javascript调用.NET方法。

把它们放在一起,你就得到了一个非常好的通知包而且工作很少。

答案 3 :(得分:0)

不是我知道的。无论如何,需要在服务器端完成一半的工作。我在http://www.strategynerd.com/sngames

处使用JQuery / Asp.NETC#制作了一个MUD

它显示了一种基本的轮询方法。由于它使用实时通信,因此它可以快速进行轮询,但是您的活动越少,轮询开始的速度越慢。彗星和长轮询显然比这种方法要好得多。