【问题标题】:New message popup新消息弹出
【发布时间】:2010-06-06 22:54:58
【问题描述】:

我目前有一个消息传递系统。 我希望做到这一点,以便当用户收到新消息时,他们会收到警报。也许是一个弹出窗口?就像一个消息框说“你有一条新消息”。

我怎样才能做到这一点? 谢谢

【问题讨论】:

    标签: php


    【解决方案1】:

    你不能在 php 中真正做到这一点,因为正常使用 php 意味着没有直接的用户交互。您需要做的是在例如 javascript 中实现相关的用户交互代码,并对托管 php 的服务器进行轮询(使用 AJAX 或类似方法),以查看是否应显示弹出窗口。

    【讨论】:

      【解决方案2】:

      这不仅仅是一个 php 问题。你需要制作一个这样的数据库表:

      messageID
      contents
      ...
      popuped
      userID
      

      然后创建一个页面来获取尚未弹出的消息数量:

      SELECT COUNT(*) AS nr FROM messages WHERE userID = :userID AND popuped = 0
      

      然后设置弹出为 1:

      UPDATE messages SET popuped = 1 WHERE userID = :userID
      

      并打印 nr 字段。

      然后,对于您网站上的每个页面,您需要发出一个预定的 ajax 请求(例如每 20 秒),该请求会加载该页面。如果结果高于零,则需要表明用户有消息。

      对于 ajax 请求,请查看 mootools javascript 框架(或 jQuery、Prototype 等)

      【讨论】:

        【解决方案3】:

        您是否正在寻找“实时”消息,例如在用户执行其他操作时显示的警报?或者您是否正在寻找“静态”消息,例如在用户打开页面时显示的警报中?静态方法可以用服务器端的php来实现。 live 方法需要使用客户端技术。我建议使用 jQueryjGrowl 以及类似 jQuery Timers 的东西来作为 live 方法。试试这个关于javascript timers here的SO问题

        【讨论】:

          猜你喜欢
          • 2011-10-28
          • 2013-11-15
          • 1970-01-01
          • 1970-01-01
          • 2011-07-26
          • 2015-08-07
          • 1970-01-01
          • 2012-08-22
          相关资源
          最近更新 更多