javascript – 有没有办法检测该窗口当前在IE8中活动?

前端之家收集整理的这篇文章主要介绍了javascript – 有没有办法检测该窗口当前在IE8中活动?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法检测窗口当前是活动的(正在显示在活动标签/窗口)在IE8?

我知道有像onfocusin / onfocus这样的事件 – 但是这不是一个完美的解决方案,因为窗口还必须获得焦点来触发事件 – 所以当用户只需切换选项卡而不触摸窗口本身就不行.

我相信这样的普通用例必须有一些简单,优雅的解决方案.

解决方法

我写了一个jQuery插件,这样做: http://mths.be/visibility它提供了一个非常简单的API,允许您在页面的可见性状态更改时执行回调.

它通过使用支持the Page Visibility API,并在旧版浏览器中回归到旧的焦点和模糊.

演示:http://mathiasbynens.be/demo/jquery-visibility

这个插件只需提供两个自定义事件即可使用:显示和隐藏.当页面可见性状态更改时,相应的事件将被触发.

您可以分别使用它们:

$(document).on('show',function() {
  // the page gained visibility
});

…和…

$(document).on('hide',function() {
  // the page was hidden
});

由于大部分时间您都需要两个事件,您最好的选择是使用活动地图.这样,您可以一次绑定两个事件处理程序:

$(document).on({
  'show': function() {
    console.log('The page gained visibility; the `show` event was triggered.');
  },'hide': function() {
    console.log('The page lost visibility; the `hide` event was triggered.');
  }
});

插件将检测浏览器中是否支持页面可见性API,并在$.support.pageVisibility中将此信息作为布尔值(true / false)公开:

if ($.support.pageVisibility) {
  // Page Visibility is natively supported in this browser
}

猜你在找的JavaScript相关文章