jquery dialog plus browser blink
I am using inactivity timer plugin to log out when inactive. This plugin puts a dialog with message you session will logout soon. I also want to blink the browser so that users knows this tab or windows has a message ?
Please advice.
- (function($){
- $.fn.idleTimeout = function(options) {
- var defaults = {
- inactivity: 1200000, //20 Minutes
- noconfirm: 10000, //10 Seconds
- sessionAlive: 30000, //10 Minutes
- redirect_url: '/my/app/inactivitySignOut',
- click_reset: true,
- alive_url: '/my/keepalive.jsp',
- logout_url: '',
- showDialog: true,
- dialogTitle: 'Auto Logout',
- dialogText: 'You are about to be signed out due to inactivity.',
- dialogButton: 'Stay Logged In'
- }
-
- //##############################
- //## Private Variables
- //##############################
- var opts = $.extend(defaults, options);
- var liveTimeout, confTimeout, sessionTimeout;
- var modal = "<div id='modal_pop'><p>"+opts.dialogText+"</p></div>";
- //##############################
- //## Private Functions
- //##############################
- var start_liveTimeout = function()
- {
- clearTimeout(liveTimeout);
- clearTimeout(confTimeout);
- liveTimeout = setTimeout(logout, opts.inactivity);
-
- if(opts.sessionAlive)
- {
- clearTimeout(sessionTimeout);
- sessionTimeout = setTimeout(keep_session, opts.sessionAlive);
- }
- }
-
- var logout = function()
- {
- var my_dialog;
- var buttonsOpts = {};
-
- confTimeout = setTimeout(redirect, opts.noconfirm);
-
- buttonsOpts[opts.dialogButton] = function(){
- my_dialog.dialog('close');
- stay_logged_in();
- }
-
- if(opts.showDialog)
- {
- my_dialog = $(modal).dialog({
- buttons: buttonsOpts,
- modal: true,
- title: opts.dialogButton,
- stack: false,
- zIndex: 20000
- });
- }
- }
-
- var redirect = function()
- {
- //if(opts.logout_url)
- //{
- //$.get(opts.logout_url);
- //}
- window.location.href = opts.redirect_url;
- }
-
- var stay_logged_in = function(el)
- {
- start_liveTimeout();
- //if(opts.alive_url)
- //{
- $.get(opts.alive_url).;
- //}
- }
-
- var keep_session = function()
- {
- $.get(opts.alive_url);
- clearTimeout(sessionTimeout);
- sessionTimeout = setTimeout(keep_session, opts.sessionAlive);
- }
-
- //###############################
- //Build & Return the instance of the item as a plugin
- // This is basically your construct.
- //###############################
- return this.each(function() {
- obj = $(this);
- start_liveTimeout();
- if(opts.click_reset)
- {
- $(document).bind('click', start_liveTimeout);
- }
- if(opts.sessionAlive)
- {
- keep_session();
- }
- });
-
- };
- })(jQuery);