判断标签页显示隐藏(visibilitychange事件)

摘要:
当隐藏或显示浏览器选项卡时,将触发可见性更改事件。例如,当选项卡隐藏时,停止播放音乐视频并停止一些不必要的轮询。此事件已被现代浏览器广泛支持,但一些较旧的浏览器需要添加相应的前缀。
 

简单的说,浏览器标签页被隐藏或显示的时候会触发visibilitychange事件。

这个事件可以满足一些用户需求,比如标签页隐藏的时候停止播放音乐视频、停止一些不必要的轮询,还有停止一些诸如轮播等循环动画效果等等。这些可以节省服务器和本地的开销。

这个事件已经得到现代浏览器广泛的支持,不过一些老版本的浏览器需要加相应的前缀。

Chrome (Webkit)Firefox (Gecko)Internet ExplorerOperaSafari (WebKit)
13前缀webkit
33无需前缀
10前缀moz
18无需前缀
10前缀ms12.10最新的测试已经支持

注:Opera 12.10浏览器在最小化时不触发visibilitychange事件,也不将hidden属性设置为true.

document的可见性属性

Page Visibility (Second Edition)中定义了2个只读的document属性:hiddenvisibilityState。

其中document.hidden是一个布尔值,简单的表示标签页显示或者隐藏。而document.visibilityState属性更为详细,目前有四个可能的值:

  • visible : 页面内容至少部分可见。这意味着在实际情况中,该网页是一个非最小化窗口的可见标签页。
  • hidden : 页面内容是对用户不可见。实际上,这意味着该文档是后台标签页或最小化窗口的一部分,或者系统锁屏是时的状态。
  • prerender : 网页内容被预渲染并且用户不可见。
  • unloaded : 如果文档被卸载,那么这个值将被返回。

一般情况下我们使用document.hidden就能满足通常的需求。

document.addEventListevent('vibisilitychange',function(){
     document.title = document.hidden ? '你快回来,我一个个人承受不来' :'我在呢'   
});

  



免责声明:文章转载自《判断标签页显示隐藏(visibilitychange事件)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇k8s基于CA签名的双向数字证书认证(三)linux服务器批量部署应用系统shell脚本(Tomcat/jetty)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。 下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件...

Java注释@interface的用法【转】

       Java用  @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的...

uni-app中使用scroll-view滚到底部时多次触发scrolltolower

一、前言、scroll-view基本属性: 前言:   前段时间使用scroll-view可滚动视图区域容器来做多个不同内容的展示(在我这个页面中同时使用了三个scroll-view做数据展示),因为这几个展示的内容的数据都比较的多,因此为了页面的数据加载顺畅决定使用上拉加载(简单的说就是数据分页显示)。 页面组成如下图所示: scroll-view属性...

在PC上调试微信手机页面的三种方法

场景 假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开。而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试。这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不要拿去干坏事) 工具准备 ‍‍‍‍1、方便调试的浏览器。个人喜欢Chrome,本文基于Chrome 43.0.2357.130 (正式版本) m (32 位)...

深度之眼PyTorch训练营第二期 ---6、nn.Module与网络模型构建

一、网络模型创建步骤 数据->模型->损失函数->优化器 1、模型创建 (1)构建子模块->卷积层,池化层,激活函数层 (2)拼接子模块->LeNet,AlexNet,ResNet等 2、权值初始化->Xavier,Kaiming,均匀分布,正态分布 二、nn.Module属性 torch.nn  nn.Parame...

(摘)Zebra打印机异常处理

一、一般条码打印设备按图指示方向,虚线为碳带安装路径,实线为标签路径。回卷后废碳带不易剥落,则在装入前用废标签的光滑底纸卷在回卷轴上,然后再上碳带。安装标签时,根据不同标签宽度调整限纸器。压头弹簧均匀,可避免打印机标签跑偏。第一次使用打印机时要进行测纸。  二、面板控制    PAUSE 键:暂停与开始打印  FEED 键: 走一张纸  CANC...