Page Visibility实现焦点丢失提醒

0.前言

HTML5 Page Visibility API是一个非常有用的特性,当页面对用户不可见时,暂停播放页面中的视频、动画、声音、以及其他耗费内存的操作,等用户回来时,再继续这些操作。当然,最好提醒下用户可以继续回到本页面上来,本文研究利用改变页面tab(title)实现提醒。

  • 前言
  • 效果预览
  • 代码解析
    • 实现过程
    • 兼容性分析
  • 学习资源
  • 声明

效果预览

代码解析

实现过程

实现过程非常简单,侦听visibilitychange事件,然后改变页面标题。

var title = document.title,
newTitle = "记得回来哟 " + title;
document.addEventListener("visibilitychange", function() {
    document.title = ((document.hidden) ? newTitle : title);
});

兼容性分析

来自caniuse的数据,Page Visibility在现代浏览器中兼容性不错,如下图所示。

学习资源

  1. Page Visibility参考手册
  2. Page Visibility兼容性表格
  3. Creating Well-Behaved Sites With The Page Visibility API
  4. Page Visibility(页面可见性) API介绍、微拓展
  5. Page Visibility API
  6. Using the Page Visibility API

声明

前端开发whqet,关注前端开发,分享相关资源。csdn专家博客,王海庆希望能对您有所帮助,限于作者水平有限,出错难免,欢迎拍砖!

欢迎任何形式的转载,烦请注明装载,保留本段文字。

本文原文链接,http://blog.csdn.net/whqet/article/details/44511735

欢迎大家访问独立博客http://whqet.github.io

时间: 2024-08-10 02:32:24

Page Visibility实现焦点丢失提醒的相关文章

HTML5 Page Visibility

什么是 Page Visibility ?Page Visibility 即页面可见性,通过 visibilityState 的值检测页面当前是否可见.当一个网站是可见或点击选中的状态时 Page Visibility API 可以让你获取到这种状态,当用户最小化网页或者浏览到其他标签的网页时,API将发送一个关于当前页面的可见信息的事件vibilitychange.你可以检测该事件然后执行一些活动或是展示不同的效果.这个API在节约资源上是非常有用的,当网页不可见时,这个API通过提供给开发者

Page Visibility(页面可见性) API介绍、微拓展[转]

一.网页君的悲情谁来懂 唉,突然想到了一首悲情诗: 泪湿罗巾梦不成,夜深前殿按歌声.红颜未老恩先断, 斜倚薰笼坐到明. 学生时代学过的一首诗,已还给老师不知所云的诸位可参见下面释义: 诗的主人公是一位不幸的宫女.她一心盼望君王的临幸而终未盼得,时已深夜,只好上床,已是一层怨怅.宠幸不可得,退而求之好梦:辗转反侧,竟连梦也难成,见出两层怨怅.梦既不成,索性揽衣推枕,挣扎坐起.正当她愁苦难忍,泪湿罗巾之时,前殿又传来阵阵笙歌,原来君王正在那边寻欢作乐,这就有了三层怨怅.倘使人老珠黄,犹可解说:偏偏她

页面可见生Page Visibility

Page Visibility 会在浏览器的 document 对象上添加两个属性 hidden 和 visibilityState .如果当前的标签被激活了,那么 document.hidden 的值为 false ,否则为 true .visibilityState 则有4个可能值 1.hidden:当浏览器最小化.切换标签.电脑锁屏时 visibilityState 值是 hidden2.visible:当浏览器最顶级上下文(context)的 document 至少显示在一个屏幕当中时,

Page Visibility API(页面可见性)

页面可见性: 就是对于用户来说,页面是显示还是隐藏, 所谓显示的页面,就是我们正在看的页面:隐藏的页面,就是我们没有看的页面. 因为,我们一次可以打开好多标签页面来回切换着,始终只有一个页面在我们眼前,其他页面就是隐藏的,还有一种就是,把浏览器最小化,所有的页面就都不可见了. API 很简单,document.hidden 就返回一个布尔值,如果是true, 表示页面可见,false 则表示,页面隐藏.  不同页面之间来回切换,触发visibilitychange事件. 还有一个document

2-管理Audio焦点(Managing Audio Playback)

由于许多App都可能会播放多媒体文件,对于它们之间该如何相互作用就必须要充分考虑.为了避免所有的音乐App同时播放音乐,Android系统提供了audio焦点机制来控制多媒体文件的播放,只有获得了audio焦点的App能够播放音乐. 在你的App播放音频文件之前,需要请求并接受audio焦点.同样的,需要明白如何监听audio焦点的丢失并且在其发生时妥善处理. Android系统Audio焦点的常用的操作方法如下: Request the Audio Focus     在你的App开始播放音乐

在网页中获取 facebook page 的内容

参考 : http://www.ibm.com/developerworks/cn/opensource/os-cn-facebookapi/ 1.首先你要有 facebook page, 内容要公开, 登入admin-> setting -> general -> page visibility = Page Published 2.你要有个 facebook app , 需要 App ID 和 App Secret . 3.然后你需要一个 access_token GET https

关于HTML面试题汇总之visibility

一.页面可见性(visibility) 主要提供两个属性,一个事件(都在document对象上):1. 属性:   1.1.  hidden:获取或设置当前页面的可见性,boolean值:   1.2. visibilityState: 获取当前页面可见性状态,值为hidden.visibility其中一个2. 事件:visibilityChange:页面可见性发生改变时触发的事件 3. 由于各类浏览器的支持情况不一致,都需要加上私有属性的前缀,如 webkit.moz.ms.o等.在ie9-不

5月面试题总结

HTML Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于HTML文档中的第一行,处于 <html> 标签之前.告知浏览器的解析器用什么文档标准解析这个文档.DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现. (2).标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行.在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作. HTML5 为什么只需要写 <!DOCTYPE HTML&g

.NET异常问题总结

输入字符串的格式不正确. 有格式化字符替换符号{0}等,“{”和“}”作为特殊符号出现,如果有多余的“{”和“}”就会出错 GZIP压缩出现FF-F0-F1…是无效的输入流 要解压的字节流无效,可能是非GZIP压缩流 webbrowser 指定的转换无效 跨线程调用 webbrowser只能由自身所在线程直接操作 跨线程操作需要用主线程异步调用委托方式来执行操作 RTF转HTML有未能转换的指令 RTF指令是唯一的,检查替换的是否全面 双字节字符检查是否直接使用了替换导致相似的不应被替换的字符串