javascript - Is there any way to detect that window is currently active in IE8? -
is there way detect window active (is being shown on active tab/window) in ie8?
i know there events onfocusin
/onfocus
- not perfect solution, since window must receive focus event fired - not work when user switches tabs without touching window itself.
i believe there has simple, elegant solution such ordinary use-case.
i’ve written jquery plugin this: http://mths.be/visibility gives simple api allows execute callbacks when page’s visibility state changes.
it using the page visibility api it’s supported, , falling old focus
, blur
in older browsers.
demo: http://mathiasbynens.be/demo/jquery-visibility
this plugin provides 2 custom events use: show
, hide
. when page visibility state changes, appropriate event triggered.
you can use them separately:
$(document).on('show', function() { // page gained visibility });
…and…
$(document).on('hide', function() { // page hidden });
since of time you’ll need both events, best option use events map. way, can bind both event handlers in 1 go:
$(document).on({ 'show': function() { console.log('the page gained visibility; `show` event triggered.'); }, 'hide': function() { console.log('the page lost visibility; `hide` event triggered.'); } });
the plugin detect if page visibility api natively supported in browser or not, , expose information boolean (true
/false
) in $.support.pagevisibility
:
if ($.support.pagevisibility) { // page visibility natively supported in browser }
Comments
Post a Comment