几年前,我们浏览网页的时候是没有选项卡浏览模式的,每一个网页都会是一个浏览器窗口,如果我没有记错,Win7之前我们都是这样浏览网页的。作为一个程序员,我们经常会同时打开10-15个网页,多的时候超过20个也不足为奇。

为什么要使用这个API?

早期我们没有办法确定哪些选项卡是活动状态的,但是现在通过HTML Visibility API,我们可以检测访客是否正在浏览我们的界面。

在这个教程中我们会介绍如何使用HTML5 Visibility API,同时我们也为你准备了一个简单的demo来查看页面的状态。在demo中,我们将会根据页面的状态来修改文档的标题。

查看页面的状态

随着这个API的出现,我们又迎来了两个新的document属性,他们分别是document.visibilityState和document.hidden。

document.visibilityState 有四个可选值:

  • hidden: 页面在任何屏幕上都没有被浏览。

  • prerender: 页面在选项卡中,但访客现在没有在这个选项卡上。

  • visible: 访客正在浏览。

  • unloaded: 页面已经被加载过了,现在跳转在其它界面上了。

document.hidden是一个布尔类型的属性。

现在我们可以根据页面状态来控制我们的网站了。

现在我们可以马上知道我们页面的availability属性了。但是首先我们要做的是监听这个事件,这样一来我们就可以做出相应的事情。我已经写好了一个简单的监听事件:

......

......

阅读原文:通过HTML5 Visibility API检测页面活动状态

转载于:https://www.cnblogs.com/gbin1/p/3974755.html

通过HTML5 Visibility API检测页面活动状态相关推荐

  1. HTML5 API详解(5):Page Visibility API帮您省流量,提高体验

    页面可见性API可以让你知 道一个页面什么时候是隐藏的,什么时候是显示的.当页面被最小化或者被切换成后台标签页时,浏览器会触发一个 visibilitychange事件,告诉你用户已经看不到这个页面了 ...

  2. HTML5使用Geoloacation API检测浏览器的支持性

    HTML5使用Geoloacation API检测浏览器的支持性 在调用HTML5 Deolocation API函数前,需要确保浏览器支持此功能.当浏览器不支持时,可以提供一些替代文本,以提示用户升 ...

  3. 另5个你不知道的HTML5接口API

    原文地址: 5 More HTML5 APIs You Didn't Know Existed 演示地址: 全屏API Demo 原文日期: 2012年11月08日 翻译日期: 2013年08月13日 ...

  4. 浏览器html5/css3兼容性检测的javascript类库 - Modernizr简单介绍

    为什么80%的码农都做不了架构师?>>>    日期:2012-4-17  来源:GBin1.com 在线演示  本地下载 大家是不是在开发设计过程中遇到如下情况?某些浏览器不支持H ...

  5. HTML5 FileReader API 测试(一)

    2019独角兽企业重金招聘Python工程师标准>>> 参考文章 html5之FileReader接口 http://zhangyaochun.iteye.com/blog/1487 ...

  6. 利用HTML5 LocalStorage实现跨页面通信channel

    引言 随着Web技术的发展,涌出了越来越多的复杂的应用.诸多Web应用逐渐向增强用户体验方向发展.在诸如付款.在线聊天等场景中,有时需要多页面进行数据通信.以前的实现方法有cookie.服务器中转.F ...

  7. 巧用Html5 History Api解决SPA的SEO问题

    背景 想当年,我做了一个新媒体网站项目(AIISPO,已下线).跟普通资讯网站不一样的是,老板要求PC端前台的文章阅读模式一定得是瀑布流+模态框.瀑布流指的是以瀑布流的形式将文章罗列出来,而模态框则指 ...

  8. html5在线api,HTML5 历史记录API

    HTML5 历史记录API HTML5历史记录API的使用方法,在线实例演示HTML5历史记录API如何使用.浏览器的兼容性.语法定义及它的属性值详细资料等. HTML5历史记录API使您可以通过Ja ...

  9. HTML5 Drop API

    转自:http://www.cnblogs.com/fsjohnhuang/p/3961066.html 一.前言    在HTML4的时代,各前端工程师为了实现拖拽功能可说是煞费苦心,初听HTML5 ...

最新文章

  1. 配置TS + node 的开发环境
  2. 注解RequestMapping中的URI路径最前面到底需不需要加斜线?
  3. linux history 历史命令行查询和使用
  4. Redis面试题相关知识整理
  5. HTTP协议1之协议详解--转
  6. 轻松弄懂var、let、const之间的区别(一看就懂)
  7. 二叉树的链表存储与遍历
  8. 实用工具SDelete
  9. 万豪集团精细化在华发展策略;完美日记母公司将收购护肤品牌Eve Lom;赛生药业港交所主板挂牌上市 | 美通企业日报...
  10. DDD(领域驱动设计)概述
  11. CodeForces 1418C Mortal Kombat Tower
  12. java点击按钮隐藏图片6_原生JS实现隐藏显示图片 JS实现点击切换图片效果
  13. 小丸子学MongoDB系列之——部署MongoDB副本集
  14. 打破行业困境,大麦如何引领NB-IoT技术的创新应用
  15. UNI-APP,推广二维码页面实现
  16. Arduino应用开发——SD卡
  17. Android Q (十四)ANGLE
  18. 游戏人物第三人称操控及视角转变
  19. Java开发者XML基础(一)
  20. 洛谷 P2534 [AHOI2012]铁盘整理(IDA*(dfs+迭代加深+估值函数))

热门文章

  1. gis属性表怎么导成excel_将Excel数据导入到ArcGIS属性表
  2. sql select distinct常见错误_这8种常见的SQL错误用法,80%的程序员还在犯
  3. 知识图谱组队学习Task05——图数据库查询
  4. python计算一定期间的涨幅_python数据分析与挖掘(十一)--- ndarray运算
  5. thzthz.net forum.php,xthz画质修改器
  6. python glob用法_python glob的安装和使用
  7. pytorch中获取模型参数
  8. 基于MySQL的调度系统_仓储调度系统的设计与实现(SSH,MySQL)
  9. Typecho安装后后台界面和文章链接均为404错误的解决方法
  10. C++ 类对象和 指针的区别