自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你可能不知道的5個(gè)強(qiáng)大的HTML5 API

開(kāi)發(fā) 后端
HTML5提供了一些非常強(qiáng)大的JavaScript和HTML API,來(lái)幫助開(kāi)發(fā)者構(gòu)建精彩的桌面和移動(dòng)應(yīng)用程序。本文將介紹5個(gè)新型的API,希望對(duì)你的開(kāi)發(fā)工作有所幫助

1.  全屏API(Fullscreen API)

  該API允許開(kāi)發(fā)者以編程方式將Web應(yīng)用程序全屏運(yùn)行,使Web應(yīng)用程序更像本地應(yīng)用程序。

  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. // 啟動(dòng)全屏模式 
  12. launchFullScreen(document.documentElement); // the whole page 
  13. launchFullScreen(document.getElementById("videoElement")); // any individual element

 2.  頁(yè)面可見(jiàn)性API(Page Visibility API)

  該API可以用來(lái)檢測(cè)頁(yè)面對(duì)于用戶(hù)的可見(jiàn)性,即返回用戶(hù)當(dāng)前瀏覽的頁(yè)面或標(biāo)簽的狀態(tài)變化。

  1. // 設(shè)置隱藏屬性和可見(jiàn)改變事件的名稱(chēng),屬性需要加瀏覽器前綴 
  2. // since some browsers only offer vendor-prefixed support 
  3. var hidden, state, visibilityChange; 
  4. if (typeof document.hidden !== "undefined") { 
  5.   hidden = "hidden"
  6.   visibilityChange = "visibilitychange"
  7.   state = "visibilityState"
  8. } else if (typeof document.mozHidden !== "undefined") { 
  9.   hidden = "mozHidden"
  10.   visibilityChange = "mozvisibilitychange"
  11.   state = "mozVisibilityState"
  12. } else if (typeof document.msHidden !== "undefined") { 
  13.   hidden = "msHidden"
  14.   visibilityChange = "msvisibilitychange"
  15.   state = "msVisibilityState"
  16. } else if (typeof document.webkitHidden !== "undefined") { 
  17.   hidden = "webkitHidden"
  18.   visibilityChange = "webkitvisibilitychange"
  19.   state = "webkitVisibilityState"
  20.    
  21. // 添加一個(gè)標(biāo)題改變的監(jiān)聽(tīng)器 
  22. document.addEventListener(visibilityChange, function(e) { 
  23.   // 開(kāi)始或停止?fàn)顟B(tài)處理 
  24. }, false); 

3.  getUserMedia API

  該API允許Web應(yīng)用程序訪問(wèn)攝像頭和麥克風(fēng),而無(wú)需使用插件。

  1. // 設(shè)置事件監(jiān)聽(tīng)器 
  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.   // 設(shè)置video監(jiān)聽(tīng)器 
  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)

  這是一個(gè)針對(duì)移動(dòng)設(shè)備應(yīng)用程序的API,主要用于檢測(cè)設(shè)備電池信息。

  1. var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery; 
  2.    
  3. // 電池屬性 
  4. console.warn("Battery charging: ", battery.charging); // true 
  5. console.warn("Battery level: ", battery.level); // 0.58 
  6. console.warn("Battery discharging time: ", battery.dischargingTime); 
  7.    
  8. // 添加事件監(jiān)聽(tīng)器 
  9. battery.addEventListener("chargingchange", function(e) { 
  10.   console.warn("Battery charge change: ", battery.charging); 
  11. }, false); 

5.  Link Prefetching

  預(yù)加載網(wǎng)頁(yè)內(nèi)容,為瀏覽者提供一個(gè)平滑的瀏覽體驗(yàn)。

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

原文鏈接:http://www.admin10000.com/document/1159.html

責(zé)任編輯:陳四芳 來(lái)源: WEB開(kāi)發(fā)者
相關(guān)推薦

2021-07-12 07:59:06

安全 HTML 屬性

2012-11-23 10:57:44

Shell

2015-08-13 09:03:14

調(diào)試技巧

2019-11-20 10:25:06

sudoLinux

2020-01-29 19:40:36

Python美好,一直在身邊Line

2021-01-05 11:22:58

Python字符串代碼

2023-01-29 09:46:47

Dialog彈窗模態(tài)

2023-02-27 09:20:24

絕對(duì)定位CSS

2016-09-05 13:14:11

2024-03-04 00:00:00

Kubernetes技巧API

2011-02-14 16:11:44

2015-05-14 15:59:33

DockerLinux容器管理工具

2014-12-08 10:39:15

2019-11-25 14:05:47

Python裝飾器數(shù)據(jù)

2020-11-03 09:51:04

JavaScript開(kāi)發(fā) 技巧

2017-11-07 21:58:25

前端JavaScript調(diào)試技巧

2009-09-04 11:06:06

Linux桌面Linux操作系統(tǒng)linux

2020-07-02 15:43:26

Kubernetes容器工作負(fù)載

2022-04-30 19:22:35

Python編程語(yǔ)言

2020-06-22 08:09:22

GitHub工具開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)