eri*_*rik 102 javascript browser
如何使用JavaScript在任务栏中使用户的浏览器闪烁/闪烁/突出显示?例如,如果我每10秒发出一次AJAX请求以查看用户是否在服务器上有任何新消息,我希望用户立即知道它,即使他当时正在使用其他应用程序.
编辑:这些用户确实希望在收到新邮件时分心.
nic*_*ckf 85
这不会使任务栏按钮闪烁改变颜色,但标题将闪烁,直到他们移动鼠标.这应该跨平台工作,即使他们只是在不同的选项卡中.
newExcitingAlerts = (function () {
var oldTitle = document.title;
var msg = "New!";
var timeoutId;
var blink = function() { document.title = document.title == msg ? ' ' : msg; };
var clear = function() {
clearInterval(timeoutId);
document.title = oldTitle;
window.onmousemove = null;
timeoutId = null;
};
return function () {
if (!timeoutId) {
timeoutId = setInterval(blink, 1000);
window.onmousemove = clear;
}
};
}());
Run Code Online (Sandbox Code Playgroud)
更新:您可能希望查看使用HTML5通知.
hey*_*man 54
我已经制作了一个jQuery插件,用于在浏览器标题栏中闪烁通知消息.您可以指定不同的选项,如闪烁间隔,持续时间,如果窗口/选项卡聚焦时闪烁应该停止等等.该插件适用于Firefox,Chrome,Safari,IE6,IE7和IE8.
以下是如何使用它的示例:
$.titleAlert("New mail!", {
requireBlur:true,
stopOnFocus:true,
interval:600
});
Run Code Online (Sandbox Code Playgroud)
如果您不使用jQuery,您可能仍然希望查看源代码(如果您想完全支持所有主流浏览器,那么在执行标题闪烁时需要解决一些奇怪的错误和边缘情况).
据说你可以在Windows上使用增强版的windows javascript API执行此操作:
http://ajaxian.com/archives/growls-for-windows-and-a-web-notification-api
您的用户必须安装咆哮.
最终,这将成为谷歌齿轮的一部分,以NotificationAPI的形式:
http://code.google.com/p/gears/wiki/NotificationAPI
所以我建议现在使用growl方法,如果可能的话,回到窗口标题更新,并且已经尝试使用Gears Notification API,以便最终变得可用.
小智 6
var oldTitle = document.title;
var msg = "New Popup!";
var timeoutId = false;
var blink = function() {
document.title = document.title == msg ? oldTitle : msg;//Modify Title in case a popup
if(document.hasFocus())//Stop blinking and restore the Application Title
{
document.title = oldTitle;
clearInterval(timeoutId);
}
};
if (!timeoutId) {
timeoutId = setInterval(blink, 500);//Initiate the Blink Call
};//Blink logic
Run Code Online (Sandbox Code Playgroud)
我的“用户界面”响应是:您确定用户希望其浏览器闪烁,还是您认为这就是他们想要的?如果我是使用您软件的人,那么我知道如果这些警报发生得很频繁并且妨碍了我,我会感到烦恼。
如果您确定要这样做,请使用javascript警报框。这就是Google日历用于事件提醒的功能,他们可能对此有所考虑。
网页确实不是需要知道警报的最佳媒介。如果您按照“ ZOMG,则服务器已关闭!”的思路进行设计。警报,自动发送电子邮件或SMS消息给合适的人可能会成功。
归档时间: |
|
查看次数: |
102364 次 |
最近记录: |