你可能不知道的5 个强大的HTML5 API
- - CSDN博客Web前端推荐文章HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序. 本文将介绍5个新型的API,希望对你的开发工作有所帮助.   1.     全屏API(Fullscreen API).   该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序. 
HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序。本文将介绍5个新型的API,希望对你的开发工作有所帮助。
该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序。
| 
       
1 
      
2 
      
3 
      
4 
      
5 
      
6 
      
7 
      
8 
      
9 
      
10 
      
11 
      
12 
      
13 
      
14 
 | 
     
      //
 找到适合浏览器的全屏方法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 pagelaunchFullScreen(document.getElementById(        "videoElement"        ));
        //
 any individual element | 
    教程 /   演示  
  
    2.     页面可见性API(Page Visibility API)
该API可以用来检测页面对于用户的可见性,即返回用户当前浏览的页面或标签的状态变化。
| 
       
1 
      
2 
      
3 
      
4 
      
5 
      
6 
      
7 
      
8 
      
9 
      
10 
      
11 
      
12 
      
13 
      
14 
      
15 
      
16 
      
17 
      
18 
      
19 
      
20 
      
21 
      
22 
      
23 
      
24 
      
25 
 | 
     
      //
 设置隐藏属性和可见改变事件的名称,属性需要加浏览器前缀//
 since some browsers only offer vendor-prefixed supportvar
        
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        ); | 
该API允许Web应用程序访问摄像头和麦克风,而无需使用插件。
| 
       
1 
      
2 
      
3 
      
4 
      
5 
      
6 
      
7 
      
8 
      
9 
      
10 
      
11 
      
12 
      
13 
      
14 
      
15 
      
16 
      
17 
      
18 
      
19 
      
20 
      
21 
      
22 
      
23 
      
24 
 | 
     
      //
 设置事件监听器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        ); | 
这是一个针对移动设备应用程序的API,主要用于检测设备电池信息。
| 
       
1 
      
2 
      
3 
      
4 
      
5 
      
6 
      
7 
      
8 
      
9 
      
10 
      
11 
 | 
     
      var
        
battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;  //
 电池属性console.warn(        "Battery
 charging: "        ,
 battery.charging);         //
 trueconsole.warn(        "Battery
 level: "        ,
 battery.level);         //
 0.58console.warn(        "Battery
 discharging time: "        ,
 battery.dischargingTime);  //
 添加事件监听器battery.addEventListener(        "chargingchange"        ,
        function        (e)
 {          console.warn(        "Battery
 charge change: "        ,
 battery.charging);},
        false        ); | 
预加载网页内容,为浏览者提供一个平滑的浏览体验。
| 
       
1 
      
2 
      
3 
      
4 
      
5 
 | 
     
      <!--
 full page -->  <!--
 just an image --><        link
        
rel        =        "prefetch"
        
href        =        "         http://davidwalsh.name/wp-content/themes/walshbook3/images/sprite.png"
        
/> | 
  
原文:  5
 More HTML5 APIs You Didn’t Know Existed