セキュリティ上の理由から、私のWebサイトは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/
alertウィンドウを追加することもできます。ユーザーが別のタブにいる場合、ブラウザーには、タブをフラッシュする(アラートがある)機能が組み込まれています。したがって、アラートとともにドキュメントのタイトルを変更すると、目的に役立ちます。注:アラートを表示する前に、まずタブがアクティブかどうかを確認する必要があります。
ページのタイトルを変更すると、ブラウザのタブに表示されますが、背景色を変更したり、点滅させることはできません