我正在开发一个基于浏览器的应用程序,当用户收到传入的事件(例如消息)时,即使用户已将浏览器最小化,也需要能够引起用户的注意.
搜索给了我一些好的结果,但没有跨浏览器或firefox特定的.我需要能够支持IE 7和FF 3.6(特定于用户群).
以下是我看过的内容:
> Are there any JavaScript library for cross browser desktop notification?
> Make browser window blink in task Bar
到目前为止,我们使用简单的javascript警报将托盘图标设置为闪存,但在尝试响应通知时创建了额外的点击(现在总共有3次点击,或者33%的降级).用户每天要做20到50次这样的事情,所以它会很快变得非常烦人.
基于Microsoft开发人员网络上提供的示例,我制作了这个适用于IE的简单原型,但它是IE特定的,不适用于其他浏览器:
- <HTML>
- <HEAD>
- <TITLE>Popup Example</TITLE>
- <SCRIPT LANGUAGE="JScript">
- function timeMsg()
- {
- var t=setTimeout("ButtonClick()",5000);
- }
- var oPopup = window.createPopup();
- function ButtonClick()
- {
- var oPopBody = oPopup.document.body;
- var myHeight = (window.screen.availHeight - 125);
- var myWidth = (window.screen.availWidth - 350);
- oPopBody.style.backgroundColor = "red";
- oPopBody.style.border = "solid black 1px";
- oPopBody.innerHTML = "Click outside <B>popup</B> to close.";
- oPopup.show(myWidth,myHeight,300,75);
- }
- </SCRIPT>
- </HEAD>
- <BODY>
- <BUTTON onclick="timeMsg()">Display alert in 5 seconds</BUTTON>
- </BODY>
- </HTML>
如果不使用本地安装的可执行文件如何改善这种体验的任何建议都非常感谢!
解决方法
我们最终只使用了Google Chrome桌面通知,并要求我们的客户在IE中使用Chrome或Chrome Frame.通过播放声音作为警报来增强通知.
这是关于它的文档:http://code.google.com/chrome/extensions/notifications.html