温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

5个强大的HTML5 API分别是哪些

发布时间:2021-10-29 17:06:37 来源:亿速云 阅读:124 作者:柒染 栏目:编程语言

5个强大的HTML5 API分别是哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.  全屏API(Fullscreen API)

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

  1. // 找到适合浏览器的全屏方法 

  2. function launchFullScreen(element) { 

  3.   if(element.requestFullScreen) { 

  4.     element.requestFullScreen(); 

  5.   } else if(element.mozRequestFullScreen) { 

  6.     element.mozRequestFullScreen(); 

  7.   } else if(element.webkitRequestFullScreen) { 

  8.     element.webkitRequestFullScreen(); 

  9.   } 

  10.    

  11. // 启动全屏模式 

  12. launchFullScreen(document.documentElement); // the whole page 

  13. 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应用程序访问摄像头和麦克风,而无需使用插件。

  1. // 设置事件监听器 

  2. window.addEventListener("DOMContentLoaded", function() { 

  3.   // 获取元素 

  4.   var canvas = document.getElementById("canvas"), 

  5.     context = canvas.getContext("2d"), 

  6.     video = document.getElementById("video"), 

  7.     videoObj = { "video": true }, 

  8.     errBack = function(error) { 

  9.       console.log("Video capture error: ", error.code); 

  10.     }; 

  11.    

  12.   // 设置video监听器 

  13.   if(navigator.getUserMedia) { // Standard 

  14.     navigator.getUserMedia(videoObj, function(stream) { 

  15.       video.src = stream; 

  16.       video.play(); 

  17.     }, errBack); 

  18.   } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed 

  19.     navigator.webkitGetUserMedia(videoObj, function(stream){ 

  20.       video.src = window.webkitURL.createObjectURL(stream); 

  21.       video.play(); 

  22.     }, errBack); 

  23.   } 

  24. }, 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="http://davidwalsh.name/css-enhancements-user-experience" />    <!-- just an image --> <link rel="prefetch" href="https://cache.yisu.com/upload/information/20210521/332/451702.png" />

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI