成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你可能不知道的5個強大的HTML5 API

開發 后端
HTML5提供了一些非常強大的JavaScript和HTML API,來幫助開發者構建精彩的桌面和移動應用程序。本文將介紹5個新型的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可以用來檢測頁面對于用戶的可見性,即返回用戶當前瀏覽的頁面或標簽的狀態變化。

  1. // 設置隱藏屬性和可見改變事件的名稱,屬性需要加瀏覽器前綴 
  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. // 添加一個標題改變的監聽器 
  22. document.addEventListener(visibilityChange, function(e) { 
  23.   // 開始或停止狀態處理 
  24. }, 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,主要用于檢測設備電池信息。

  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. // 添加事件監聽器 
  9. battery.addEventListener("chargingchange", function(e) { 
  10.   console.warn("Battery charge change: ", battery.charging); 
  11. }, false); 

5.  Link Prefetching

  預加載網頁內容,為瀏覽者提供一個平滑的瀏覽體驗。

  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

責任編輯:陳四芳 來源: WEB開發者
相關推薦

2021-07-12 07:59:06

安全 HTML 屬性

2012-11-23 10:57:44

Shell

2023-02-27 09:20:24

絕對定位CSS

2023-01-29 09:46:47

Dialog彈窗模態

2015-08-13 09:03:14

調試技巧

2020-01-29 19:40:36

Python美好,一直在身邊Line

2021-01-05 11:22:58

Python字符串代碼

2019-11-20 10:25:06

sudoLinux

2024-03-04 00:00:00

Kubernetes技巧API

2016-09-05 13:14:11

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裝飾器數據

2009-09-04 11:06:06

Linux桌面Linux操作系統linux

2020-11-03 09:51:04

JavaScript開發 技巧

2017-11-07 21:58:25

前端JavaScript調試技巧

2020-07-02 15:43:26

Kubernetes容器工作負載

2021-12-17 00:10:00

ChromeDevtools功能

2020-06-22 08:09:22

GitHub工具開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美激情精品久久久久久 | 色播久久久 | 日韩一二区 | 一区二区三区视频在线免费观看 | 久久久精品一区二区 | 欧美天堂在线 | 中文字幕一区二区三区在线视频 | 精品综合 | 欧美成人精品欧美一级 | 日日夜夜免费精品视频 | 麻豆视频在线免费看 | 国产乱码精品一区二区三区中文 | 欧美日韩久久 | 欧美一区二区三区精品 | 9久久精品| 亚洲国产精品视频 | 欧美.com | 欧美老妇交乱视频 | 农村妇女毛片精品久久久 | 亚洲激情第一页 | 在线日韩不卡 | 亚洲午夜精品一区二区三区他趣 | xxx国产精品视频 | 精品国产99 | 99久久婷婷国产综合精品电影 | 不用播放器看的av | 国产精品久久久久久久免费大片 | 亚洲精品乱码久久久久久9色 | 久久精品成人 | 日韩久久久久久久久久久 | 影音先锋中文字幕在线观看 | 色婷婷精品 | 久草在线中文888 | 欧美激情国产精品 | 国产乱码精品1区2区3区 | 亚洲成人久久久 | 色婷婷av一区二区三区软件 | 一区二区三区四区在线播放 | 欧美三区视频 | 久久精品在线播放 | 成人av播放 |