首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在收到新消息时提醒

如何在收到新消息时提醒
EN

Stack Overflow用户
提问于 2012-08-06 22:56:19
回答 4查看 5K关注 0票数 1

我有一个用PHP + MySQL + Javascript编写的在线聊天室程序

我使用jQuery.post()chat.php获取新的聊天消息。这个php程序从MySQL中读取数据,并在页面上echos。

当有新的消息进来时,如何提醒用户?我只想让它在聊天室页面未被聚焦时发出警报。

顺便问一下,闪现网页标题是提醒用户的好主意吗?

EN

回答 4

Stack Overflow用户

发布于 2012-08-06 23:11:15

给每条消息一个唯一的ID,例如,每5秒轮询一次您的chat.php,并将客户端的最后一条消息ID与您从chat.php获得的ID进行比较。

这很容易做到。

如果你想要一些更酷、更实时的解决方案,你应该看看www.pubnub.com或类似的服务。

票数 0
EN

Stack Overflow用户

发布于 2012-08-06 23:11:39

你可以使用facebook、skype或其他著名的“聊天室”方法。

当你为user得到一个新的响应时,你有两种方法:

  • 您添加的通知会出现在窗口中(在windows或Mac...中使用skype时)
  • 您想要更改的颜色,在菜单中的聊天按钮(以及闪光的几秒钟)。

红色是有攻击性的颜色,但这取决于你的网站颜色。

对于手电筒,只使用几秒钟,否则用户会对聊天系统感到厌倦。

对于网页设计的最佳实践,有一篇非常好的文章是here...

票数 0
EN

Stack Overflow用户

发布于 2012-08-06 23:16:24

要检查页面是否有焦点,可以使用document.hasFocus函数。如果文档被聚焦,则返回true,否则返回false

但是在Opera中似乎不支持它,所以如果支持Opera对您来说很重要,您可以查看windowfocusblur事件,以确定窗口是否处于焦点状态(here is an example)。

在“如何提醒用户”的主题上,这真的是由你来决定。你可以用通常的方法,在你的标题前加上一个"(x)“,其中x是新消息的数量。你也可以用闪光灯或者更好的JavaScript Audio API来提醒用户有噪音:

代码语言:javascript
复制
var sound = new Audio('sound-file.wav');
sound.play();

尽管如此,一定要保持音频反馈严格自愿的

如果你想变得更花哨,你可以去看看Chrome desktop notifications。任何运行Chrome浏览器的用户都可以在收到新消息时收到桌面通知(与您收到Skype或MSN消息时收到的通知相同)。Here is an example of usage

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11830760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档