// Add Page Visibility API support to old browsers by focus/blur hack. // // Include this script _before_ Visibility.js. // // Note, that this hack doesn’t correctly emulate Page Visibility API: // when user change focus from browser to another window (browser and your // page may stay visible), this hack will decide, that you page is hidden. // // For Firefox 5–9 it will be better to use MozVisibility hack without // this issue. See . ;(function (document) { "use strict"; if ( document.visibilityState || document.webkitVisibilityState ) { return; } document.hidden = false; document.visibilityState = 'visible'; var event = null var i = 0 var fireEvent = function () { if( document.createEvent ) { if ( !event ) { event = document.createEvent('HTMLEvents'); event.initEvent('visibilitychange', true, true); } document.dispatchEvent(event); } else { if ( typeof(Visibility) == 'object' ) { Visibility._change.call(Visibility, { }); } } } var onFocus = function () { document.hidden = false; document.visibilityState = 'visible'; fireEvent(); }; var onBlur = function () { document.hidden = true; document.visibilityState = 'hidden'; fireEvent(); } if ( document.addEventListener ) { window.addEventListener('focus', onFocus, true); window.addEventListener('blur', onBlur, true); } else { document.attachEvent('onfocusin', onFocus); document.attachEvent('onfocusout', onBlur); } })(document);