【问题标题】:jQuery - Notification Library - pollingjQuery - 通知库 - 轮询
【发布时间】:2011-06-28 15:09:18
【问题描述】:

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

正在寻找的东西:
1) 每隔几秒轮询一次(也许可以选择 Comet)
2) 有一个标记为已读的调用(注意到 StackOverflow 通过 POST 请求执行此操作)

【问题讨论】:

    标签: jquery notifications comet long-polling


    【解决方案1】:

    为什么需要图书馆?

    客户端

    <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>
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

        这个问题已经有一段时间了,但为了将来参考,请查看 http://pinesframework.org/pnotify/ 的 Pines 通知。

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

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

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

        把它们放在一起,你就得到了一个非常棒的通知包。

        【讨论】:

          【解决方案4】:

          我不知道。无论如何,一半的工作都需要在服务器端完成。我在http://www.strategynerd.com/sngames 使用 JQuery/Asp.NETC# 制作了一个 MUD

          它显示了一个基本的轮询方法。由于它使用实时通信,因此它会快速轮询,但您越不活跃,轮询开始的速度就越慢。不过,彗星和长轮询显然比这种方法要好得多。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-09-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-04-12
            • 2012-08-21
            相关资源
            最近更新 更多