5个关于HTML5 你可能不知道的强大的API
沉沙 2018-06-20 来源 : 阅读 1612 评论 0

摘要:HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序。本文将介绍5个新型的API,希望对你的开发工作有所帮助。 希望阅读本篇文章以后大家有所收获,帮助大家对HTML5的理解更加深入。

HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序。本文将介绍5个新型的API,希望对你的开发工作有所帮助。 

1.  全屏API(Fullscreen API) 

该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序。 

 // 找到适合浏览器的全屏方法  
 function launchFullScreen(element) {  
   if(element.requestFullScreen) {  
     element.requestFullScreen();  
   } else if(element.mozRequestFullScreen) {  
     element.mozRequestFullScreen();  
   } else if(element.webkitRequestFullScreen) {  
     element.webkitRequestFullScreen();  
   }  
 }  
   
 // 启动全屏模式  
 launchFullScreen(document.documentElement); // the whole page  
 launchFullScreen(document.getElementById("videoElement")); // any individual element


2.  页面可见性API(Page Visibility API) 

该API可以用来检测页面对于用户的可见性,即返回用户当前浏览的页面或标签的状态变化。 

 // 设置隐藏属性和可见改变事件的名称,属性需要加浏览器前缀  
 // since some browsers only offer vendor-prefixed support  
 var hidden, state, visibilityChange;   
 if (typeof document.hidden !== "undefined") {  
   hidden = "hidden";  
   visibilityChange = "visibilitychange";  
   state = "visibilityState";  
 } else if (typeof document.mozHidden !== "undefined") {  
   hidden = "mozHidden";  
   visibilityChange = "mozvisibilitychange";  
   state = "mozVisibilityState";  
 } else if (typeof document.msHidden !== "undefined") {  
   hidden = "msHidden";  
   visibilityChange = "msvisibilitychange";  
   state = "msVisibilityState";  
 } else if (typeof document.webkitHidden !== "undefined") {  
   hidden = "webkitHidden";  
   visibilityChange = "webkitvisibilitychange";  
   state = "webkitVisibilityState";  
 }  
   
 // 添加一个标题改变的监听器  
 document.addEventListener(visibilityChange, function(e) {  
   // 开始或停止状态处理  
 }, false);


3.  getUserMedia API 

该API允许Web应用程序访问摄像头和麦克风,而无需使用插件。 

 // 设置事件监听器  
 window.addEventListener("DOMContentLoaded", function() {  
   // 获取元素  
   var canvas = document.getElementById("canvas"),  
     context = canvas.getContext("2d"),  
     video = document.getElementById("video"),  
     videoObj = { "video": true },  
     errBack = function(error) {  
       console.log("Video capture error: ", error.code);   
     };  
   
   // 设置video监听器  
   if(navigator.getUserMedia) { // Standard  
     navigator.getUserMedia(videoObj, function(stream) {  
       video.src = stream;  
       video.play();  
     }, errBack);  
   } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed  
     navigator.webkitGetUserMedia(videoObj, function(stream){  
       video.src = window.webkitURL.createObjectURL(stream);  
       video.play();  
     }, errBack);  
   }  
 }, false);


4.  电池API(Battery API) 

这是一个针对移动设备应用程序的API,主要用于检测设备电池信息。 

 var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;  
  
 // 电池属性  
 console.warn("Battery charging: ", battery.charging); // true  
 console.warn("Battery level: ", battery.level); // 0.58  
 console.warn("Battery discharging time: ", battery.dischargingTime);  
   
 // 添加事件监听器  
 battery.addEventListener("chargingchange", function(e) {  
   console.warn("Battery charge change: ", battery.charging);  
 }, false);


5.  Link Prefetching 

预加载网页内容,为浏览者提供一个平滑的浏览体验。 

 <!-- full page -->  
 <link rel="prefetch" href="//davidwalsh.name/css-enhancements-user-experience" />  
   
 <!-- just an image -->  
 <link rel="prefetch" href="//davidwalsh.name/wp-content/themes/walshbook3/images/sprite.png" />


本文由职坐标整理并发布,了解更多内容,请关注职坐标WEB前端HTML5/CSS3频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved