【发布时间】:2011-12-12 22:10:05
【问题描述】:
我正在开发一个基于浏览器的应用程序,该应用程序需要能够在用户收到传入事件(例如消息)时引起用户的注意,即使用户已将浏览器最小化。
搜索给了我一些不错的结果,但没有跨浏览器或特定于 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 次,所以很快就会变得非常烦人。
根据微软开发者网络上提供的一个例子,我制作了这个简单的原型,它在 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>
非常感谢任何有关如何在不使用本地安装的可执行文件的情况下改善这种体验的建议!
【问题讨论】:
-
人们讨厌弹出窗口,因为它们曾一度污染了整个网络。所有主要浏览器都以自动消除它们的方式构建。大多数防病毒软件还具有消除弹出窗口的插件。所以,这样做的唯一方法本质上是不像网络的。
-
谢谢你,埃文。从用户的角度来看,我肯定有同样的看法。由于我正在开发的应用程序是 B2B,因此在口述设置方面我们有更多的灵活性。因此,如果有任何建议会触发弹出窗口阻止程序或其他可以由用户关闭的内置浏览器安全功能,那么出于此目的是可以接受的。
标签: javascript html css user-experience