使浏览器选项卡闪烁通知

出于安全原因,我的网站会在闲置5分钟后自动将用户注销。 我通过jquery超时实现这一点,当用户执行我认为是“活动”的任何时候都会重置。 为了确保安全性,cookie的超时也设置为5分钟,我的jquery会向服务器发送心跳以确保cookie不会过期。

目前,在大约4分钟不活动时,会弹出一个jquery ui对话框,警告用户即将发生超时。 用户可以选择保持登录状态,立即退出或不执行任何操作,并且在5分钟结束时他们被迫退出。

我的问题是我想用不同的背景颜色使选项卡闪烁/闪烁,以警告用户在他们没有注意时发生了什么。 我只是不确定如何去做这件事。

您可以更改页面标题(这也应该更改选项卡中的文本)。

document.title = 'New title'; 

此外,您可以在页面标题和您尝试向用户显示的信息之间来回切换setInterval 。 我在gmail上看到了这种与传入聊天通信的行为。

无法更改浏览器选项卡的背景,至少在所有选项卡中不一致。

正如Josiah所提到的, setInterval可用于创建闪烁的页面标题。

这个javascript使用它:

 var PageTitleNotification = { Vars:{ OriginalTitle: document.title, Interval: null }, On: function(notification, intervalSpeed){ var _this = this; _this.Vars.Interval = setInterval(function(){ document.title = (_this.Vars.OriginalTitle == document.title) ? notification : _this.Vars.OriginalTitle; }, (intervalSpeed) ? intervalSpeed : 1000); }, Off: function(){ clearInterval(this.Vars.Interval); document.title = this.Vars.OriginalTitle; } } 

这可以像:

 PageTitleNotification.On("User logged out!"); 

有关详细信息,请参阅我的以下博文:

http://curtistimson.co.uk/js/create-a-flashing-tab-notification-page-title/

您可以更改页面标题并在浏览器选项卡中显示,但您无法更改背景颜色或使其闪烁

您还可以添加警报窗口。 当用户在另一个选项卡中时,浏览器具有内置function,可以闪烁选项卡(具有警报)。 因此,更改文档标题和警报将符合您的目的。 注意:在显示警报之前,您需要先检查选项卡是否处于活动状态。