h5 Visibility API总结】的更多相关文章

最近活动中的小游戏,有涉及页面隐藏或app后台运行时候,暂停游戏的功能,使用了h5的Visibility API,在此总结如下: 两个属性 document.hidden (Read only) 如果页面处于被认为是对用户隐藏状态时返回true,否则返回false. document.visibilityState (Read only) 是一个用来展示文档可见性状态的字符串.可能的值: visible : 页面内容至少是部分可见. 在实际中,这意味着页面是非最小化窗口的前景选项卡.hidden…
概述 哈哈,又学了一个H5的API.今天突然对动态获取网页的选中状态很感兴趣,然后去查了下,发现真的有个API控制它--Page Visibility API.于是把学到的东西记录下来,供以后开发时参考,相信对其他人也有用. 具体可以参考:MDN Page Visibility API 示例 立刻把这个API用到了我的博客上面了.怎么查看效果呢? 确保浏览器是最新版本(IE要IE10以上). 打开我的博客,然后点击浏览器的其它标签,就可以看到我的博客网页的标签的标题变成了(●-●)喔哟,崩溃啦!…
localStorage相信大家都不陌生,今天我们要讨论的不是怎么存储数据,获取数据.而是看看WebStorage的一些妙用,相信大家在开发中遇到过这样一个场景,一个页面中嵌套一个iframe,iframe中填写了一些数据,关闭iframe后,需要通知页面中变化数据,或者触发某个事件.这个需求说难不难,说简单不简单,解决方式也是五花八门,读者可以在评论区留言.我要说的是,用storage事件机制来解决这个问题. 引用<h5移动web开发指南>上的话: “当同源页面的某个页面修改了localSt…
h5地理位置API 地理API允许javascript程序向浏览器询问用户的真实地理位置,支持地理位置API的浏览器在访问前总是会询问用户是否允许. 获取用户地理的途径有:         1.ip地址书上说不准确,很多时候获取的是ISP机房的位置,但是获取非常方便,没有什么限制.但是实际上我觉得在中国,ip地址还是比较准确的,基本上上能精确到小区或大楼的标准.         2.GPS   非常准确,但是需要在户外,且需要很长时间搜索卫星.最主要的很多设备比如笔记本电脑基本都是不带GPS的,…
几年前,我们浏览网页的时候是没有选项卡浏览模式的,每一个网页都会是一个浏览器窗口,如果我没有记错,Win7之前我们都是这样浏览网页的.作为一个程序员,我们经常会同时打开10-15个网页,多的时候超过20个也不足为奇. 为什么要使用这个API? 早期我们没有办法确定哪些选项卡是活动状态的,但是现在通过HTML Visibility API,我们可以检测访客是否正在浏览我们的界面. 在这个教程中我们会介绍如何使用HTML5 Visibility API,同时我们也为你准备了一个简单的demo来查看页…
pushState和replaceState是H5的API中新添加的两个方法.通过window.history方法来对浏览器历史记录的读写. pushState和replaceState 在 HTML 文件中, history.pushState() 方法向浏览器历史添加了一个状态. pushState() 带有三个参数:一个状态对象,一个标题(现在被忽略了),以及一个可选的URL地址. state object — 状态对象是一个由 pushState()方法创建的.与历史纪录相关的JS对象.…
在code review时看见同事使用visibilitychange 事件来监听页面的隐藏与显示,之前没有了解过这块,学习一下. document.visibilityState 主要有以下3个状态: hidden:页面彻底不可见. visible:页面至少一部分可见. prerender:页面即将或正在渲染,处于不可见状态. hidden状态和visible状态是所有浏览器都支持的.prerender状态仅支持预渲染的浏览器 注意:The Page Visibility API define…
免责声明 本文章所提到的技术仅用于学习用途,禁止使用本文章的任何技术进行发起网络攻击.非法利用等网络犯罪行为,一切信息禁止用于任何非法用途.若读者利用文章所提到的技术实施违法犯罪行为,其责任一概由读者自行承担,与作者无关. 0x01 前言 研究飞猪旅行HTML5端sign签名过程,以复刻sign签名过程为手段,以查询酒店价格为目标,以学习技术要点.思路以及如何防范为宗旨,展开对飞猪H5端API接口sign签名的研究. 0x02 寻突破口 捕获目标API请求数据包 使用浏览器F12开发者工具开启设…
起因 最近浏览36kr 的网页的时候偶然发现一个有趣的情况:当浏览器Tab 处于非当前页的时候,36kr 的标题栏会自动换成可爱的大白字符形象.Jeff 在第一次看到的时候就知道这种效果是通过HTML5 的Page Visibility API 实现的(不是吹牛). 直到现在我还没去查看36kr 的源代码看其是如何实现的(也不打算去一个个查看它繁杂的js 文件了),HTML5 的Page Visibility API 以前看过,看到36kr 实现了这个的时候一时兴起,遂去查看文档深入了解之.然后…
H5新增API 选择器 querySelector()和querySelectorAll(),参数都是css选择器,前者返回符合条件的第一个匹配的元素,如果没有则返回Null,后者返回符合筛选条件的所有元素集合,如果没有符合筛选条件的则返回空数组. getElementsByClassName()返回一个类似数组的对象,包含了所有指定 class 名称的子元素.当调用发生在document对象上时, 整个DOM都会被搜索, 包含根节点,也可以在任意元素上调用. document.querySel…
不要搞错,本文不是讲如何拖地的.看过<javascript精粹>朋友应该知道,他实现拖放的过程比较复杂,现在时代不同了,我们用H5的新的拖放API就能非常方便的实现拖放效果了.最近在园子见一园友写了一篇<HTML5 进阶系列:拖放 API 实现拖放排序>,真乃大师之作,大-熊同学作为一代菜鸟(不是宗师),无法与之想比,遂推出基础篇,希望各位园友有所收获. 一.一个简单的例子--地上有石子捡几个吧 <!DOCTYPE html> <html> <head…
博客原文:https://dobinspark.com.cn/ H5-dom扩展 获取元素 document.getElementsByClassName ('class'); //通过类名获取元素,以伪数组形式存在. document.querySelector('selector'); //通过CSS选择器获取元素,符合匹配条件的第1个元素. document.querySelectorAll('selector'); //通过CSS选择器获取元素,以伪数组形式存在. 类名操作 Node.c…
1.1 网络状态 我们可以通过window. navigator.onLine来检测,用户当前的网络状况,返回一个布尔值,这个不能实时的通知. addEventListener 进行绑定online从没网络到有网络的时候调用 addEventListener 进行绑定.offline从有网络到没网的时候调用 事件是给window绑订的 1.2 地理定位 HTML规范中,增加了获取用户地理信息的API,这样使得我们可以基于用户位置开发互联网应用,即基于位置服务 (Location Base Ser…
页面可见性: 就是对于用户来说,页面是显示还是隐藏, 所谓显示的页面,就是我们正在看的页面:隐藏的页面,就是我们没有看的页面. 因为,我们一次可以打开好多标签页面来回切换着,始终只有一个页面在我们眼前,其他页面就是隐藏的,还有一种就是,把浏览器最小化,所有的页面就都不可见了. API 很简单,document.hidden 就返回一个布尔值,如果是true, 表示页面可见,false 则表示,页面隐藏.  不同页面之间来回切换,触发visibilitychange事件. 还有一个document…
下面是完整的例子,暂不做分析 <!DOCTYPE html> <html> <head> <title> FullScreen API 演示</title> <meta name="Generator" content="EditPlus"> <meta http-equiv="Content-Type" content="text/html; charset…
W3C 文档 https://www.w3.org/TR/page-visibility/ MDN 文档 https://www.w3.org/TR/page-visibility/ // Document.visibilityState 可以监听用户是否离开页面,在返回页面 var t1, {log} = console; document.addEventListener("visibilitychange", function() { if(this.visibilityStat…
H5 提供了很多简单实用的 API,Page Visibility API 就是其中之一. 不知道用户是不是在与页面交互,这是困扰广大 Web 开发人员的一个主要问题.如果 页面最小化了 或者 隐藏在了其他标签页后面,那么有些功能是可以停下来的,比如轮询服务器或者某些动画效果.那么如何判断呢? H5 之前,我们可以监听 onfocus() 事件.如果当前窗口得到焦点,那么我们可以简单认为用户在与该页面交互,如果失去焦点(onblur()),那么可以认为用户停止与该页面交互. // 当前窗口得到焦…
一.网页君的悲情谁来懂 唉,突然想到了一首悲情诗: 泪湿罗巾梦不成,夜深前殿按歌声.红颜未老恩先断, 斜倚薰笼坐到明. 学生时代学过的一首诗,已还给老师不知所云的诸位可参见下面释义: 诗的主人公是一位不幸的宫女.她一心盼望君王的临幸而终未盼得,时已深夜,只好上床,已是一层怨怅.宠幸不可得,退而求之好梦:辗转反侧,竟连梦也难成,见出两层怨怅.梦既不成,索性揽衣推枕,挣扎坐起.正当她愁苦难忍,泪湿罗巾之时,前殿又传来阵阵笙歌,原来君王正在那边寻欢作乐,这就有了三层怨怅.倘使人老珠黄,犹可解说:偏偏她…
Canvas API 是H5中比较炫酷的一部分内容.可以通过它动态的生成和展示图形.图表.图像以及动画.下面我将学习一下Canvas API. 最后有书籍和源码. 一.概述: 1.基本元素: 在网页上使用canvas元素时,它会创建一块矩形区域,默认为300px*150px (w*h),可以自定义具体大小和canvas元素的其他特性. 基本canvas元素: 在页面加入canvas元素后,可以通过js脚本来控制它,可以在其中添加图片.线条以及文字,也可以在里面绘图,甚至可以加入高级动画. 使用c…
页面1  HTML代码: <p id="loginInfo"></p> JS代码: (function() {     if (typeof pageVisibility.hidden !== "undefined") {         var eleLoginInfo = document.querySelector("#loginInfo");         var funLoginInfo = function(…
这个是今天刚发现的,想起之前那个在页面用video标签视频播放,别人切换页面后仍在继续播放,体验很不好,用这个API就可以很完美的解决. Page Visibility API 可以让你获取到这种状态.在用户使用切换标签的方式来浏览网页时,非常合理的情况是任何在后台页面都不会展示给用户. 当用户最小化网页或者浏览到其他标签的网页时,API将发送一个关于当前页面的可见信息的事件visibilitychange.你可以检测该事件然后执行一些活动或是展示不同的效果.比如,如果你的网站app正在播放一个…
什么是 Page Visibility ? Page Visibility 即页面可见性,通过 visibilityState 的值检测页面当前是否可见.当一个网站是可见或点击选中的状态时 Page Visibility API 可以让你获取到这种状态,当用户最小化网页或者浏览到其他标签的网页时,API将发送一个关于当前页面的可见信息的事件vibilitychange.你可以检测该事件然后执行一些活动或是展示不同的效果.这个API在节约资源上是非常有用的,当网页不可见时,这个API通过提供给开发…
最近刚好有空,学长帮忙让做个毕设,于是我提到了那个基于H5地理位置实现天气查询的方法,学长听了也觉得不错,于是就这个主题,扩展了一下,做了一个航班管理查询系统,为上次博客中提到的利用H5 api中的经纬度应用做了一个例子.这边也贴上部分代码简单提下思路. 首先网站框架:bootstarp+less+ajax(交互方法)+php+mysql  搭建在sae平台上,文章结束贴上demo地址 $(document).ready(function(){ $("#myCarousel").car…
一 . 背景及效果 当前互联网上传文件最多的就是图片文件了,但是传统web图片的截图上传需要:截图保存->选择路径->保存后再点击上传->选择路径->上传->插入. 图片文件上传也需要:选择路径再->上传->插入,步骤繁杂,互联网体验为王,如果支持截图粘贴上传.拖拽上传将大大提升体验. 当前知乎和github对现代浏览器均支持这两种特性,闲来无事就学习实现了一下,今天就说一说这个1kb插件实现什么功能,怎么使用和原理. 首先看一下插效果: 截图后直接粘贴上传. 拖…
一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会"h5"能够做什么,以及在实际项目中如何去合理的运用达到使用自如,完美驾驭O(∩_∩)O~,好了,废话不多说,直接进入今天的主题, 今天主要讲的是对昨天文章中的代码进行重构,并且相应的美化了一下前台UI界面,如下图所示的效果: 哈哈哈酷吧!继续让咱们做个简单的回顾: 为了提高Web页面的响应速度,越…
1.HTML5中与页面显示相关的API 在HTML5中,增加了几个与页面显示相关的API,其中一个是Page Visibility API Page Visibility API  是指当页面变为最小化状态或者用户将浏览器标签切换到其他标签时会触发. Page Visibility API的使用场合如下: 一个应用程序中具有多幅图片的幻灯片式的连续播放功能,当页面变为不可见状态(最小化状态或者将用户浏览器标签切换到其他标签时),图片停止播放,当页面变为可见状态时,图片继续播放. 在一个实时显示服…
1. 新兴的API requestAnimationFrame():是一个着眼于优化js动画的api,能够在动画运行期间发出信号.通过这种机制,浏览器就能够自动优化屏幕重绘操作 Page Visibility API:让开发人员知道用户什么时候正在看着页面,而什么时候页面是隐藏. Geolocation API:在得到用户许可的情况下,可以确定用户的位置 File API:可以读取文件内容,用户显示.处理和上传 Web Timing:给出了页面加载和渲染过程的很多信息,对性能优化非常有价值 We…
最近在折微信公众号内H5用JSAPI调用微信支付,境内服务商版支付,微信支付给出的官方文档以及SDK不够详细,导至我们走了一些弯路,把他分享出来,我这边主要是用PHP开发,所以未加说的话示例都是PHP代码 微信的官方文档  https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=7_1 1.服务商模式下调用统一下单 独立商户模式统一下单:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php…
25.1 requestAnimationFrame() 25.1.1 早期动画循环 25.1.2 循环间隔的问题 25.1.3 mozRequestAnimation-Frame.webkitRequestAnimationFrame与msRequest-AnimationFrame25.2 Page Visibility API25.3 Geolocation API25.4 File API 25.4.1 FileReader 类型 25.4.2 读取部分内容 25.4.3 对象URL 2…
译文来源:http://www.ido321.com/1126.html 原文:HTML5 Page Visibility API 译文:HTML 5的页面可视性API 译者:dwqs 在早期,浏览器并没有提供选项卡,但是现在基本所有浏览器都提供了这个功能.作为一个程序员,我一般会同时打开10到15个选项卡,甚至有些时候会在25到30. 为什么介绍Page Visibility API呢? 之前,是不可能确定哪个选项卡是激活的,哪个没有激活,但是在HTML 5 Visibility API的帮助…