5 个强大的HTML5 API 函数推荐_html5教程技巧
            
   
         
       2014-12-29 13:04:43
                [小 大]
                已经帮助:人解决问题                
                                
             
            
               本文给大家推荐了5个html5的新型API函数,包括全屏API(Fullscreen API)、页面可见性API(Page Visibility API)、getUserMedia API、电池API(Battery API)、 Link Prefetching。希望大家能有所了解,以方便自己使用。
 HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序。本文将介绍5个新型的API,希望对你的开发工作有所帮助。3AnHTML5中文学习网 - HTML5先行者学习网
  1.  全屏API(Fullscreen API)3AnHTML5中文学习网 - HTML5先行者学习网
  该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序。3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网
// 找到适合浏览器的全屏方法  3AnHTML5中文学习网 - HTML5先行者学习网
function launchFullScreen(element)   {3AnHTML5中文学习网 - HTML5先行者学习网
  if(element.requestFullScreen)   {3AnHTML5中文学习网 - HTML5先行者学习网
    element.requestFullScreen();  3AnHTML5中文学习网 - HTML5先行者学习网
  } else if(element.mozRequestFullScreen) {3AnHTML5中文学习网 - HTML5先行者学习网
    element.mozRequestFullScreen();3AnHTML5中文学习网 - HTML5先行者学习网
  } else if(element.webkitRequestFullScreen)   {3AnHTML5中文学习网 - HTML5先行者学习网
    element.webkitRequestFullScreen();3AnHTML5中文学习网 - HTML5先行者学习网
  }3AnHTML5中文学习网 - HTML5先行者学习网
}3AnHTML5中文学习网 - HTML5先行者学习网
// 启动全屏模式  3AnHTML5中文学习网 - HTML5先行者学习网
launchFullScreen(document.documentElement);   // the whole page3AnHTML5中文学习网 - HTML5先行者学习网
launchFullScreen(document.getElementById("videoElement"));   // any individual element3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网  2.  页面可见性API(Page Visibility API)3AnHTML5中文学习网 - HTML5先行者学习网
  该API可以用来检测页面对于用户的可见性,即返回用户当前浏览的页面或标签的状态变化。3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网
// 设置隐藏属性和可见改变事件的名称,属性需要加浏览器前缀   3AnHTML5中文学习网 - HTML5先行者学习网
// since some browsers only offer   vendor-prefixed support 3AnHTML5中文学习网 - HTML5先行者学习网
var hidden, state,   visibilityChange;  3AnHTML5中文学习网 - HTML5先行者学习网
if (typeof document.hidden   !== "undefined") { 3AnHTML5中文学习网 - HTML5先行者学习网
  hidden = "hidden"; 3AnHTML5中文学习网 - HTML5先行者学习网
  visibilityChange =   "visibilitychange"; 3AnHTML5中文学习网 - HTML5先行者学习网
  state =   "visibilityState"; 3AnHTML5中文学习网 - HTML5先行者学习网
} else if (typeof document.mozHidden   !== "undefined") { 3AnHTML5中文学习网 - HTML5先行者学习网
  hidden =   "mozHidden"; 3AnHTML5中文学习网 - HTML5先行者学习网
  visibilityChange =   "mozvisibilitychange"; 3AnHTML5中文学习网 - HTML5先行者学习网
  state =   "mozVisibilityState"; 3AnHTML5中文学习网 - HTML5先行者学习网
} else if (typeof document.msHidden   !== "undefined") { 3AnHTML5中文学习网 - HTML5先行者学习网
  hidden =   "msHidden"; 3AnHTML5中文学习网 - HTML5先行者学习网
  visibilityChange =   "msvisibilitychange"; 3AnHTML5中文学习网 - HTML5先行者学习网
  state =   "msVisibilityState"; 3AnHTML5中文学习网 - HTML5先行者学习网
} else if (typeof document.webkitHidden   !== "undefined") { 3AnHTML5中文学习网 - HTML5先行者学习网
  hidden =   "webkitHidden"; 3AnHTML5中文学习网 - HTML5先行者学习网
  visibilityChange = "webkitvisibilitychange";   3AnHTML5中文学习网 - HTML5先行者学习网
  state =   "webkitVisibilityState"; 3AnHTML5中文学习网 - HTML5先行者学习网
} 3AnHTML5中文学习网 - HTML5先行者学习网
// 添加一个标题改变的监听器   3AnHTML5中文学习网 - HTML5先行者学习网
document.addEventListener(visibilityChange,   function(e) { 3AnHTML5中文学习网 - HTML5先行者学习网
  // 开始或停止状态处理 3AnHTML5中文学习网 - HTML5先行者学习网
}, false);3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网 3AnHTML5中文学习网 - HTML5先行者学习网  3.  getUserMedia API3AnHTML5中文学习网 - HTML5先行者学习网  该API允许Web应用程序访问摄像头和麦克风,而无需使用插件。3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网
// 设置事件监听器   3AnHTML5中文学习网 - HTML5先行者学习网
window.addEventListener("DOMContentLoaded",   function() { 3AnHTML5中文学习网 - HTML5先行者学习网
  // 获取元素 3AnHTML5中文学习网 - HTML5先行者学习网
  var canvas =   document.getElementById("canvas"), 3AnHTML5中文学习网 - HTML5先行者学习网
    context =   canvas.getContext("2d"), 3AnHTML5中文学习网 - HTML5先行者学习网
    video =   document.getElementById("video"), 3AnHTML5中文学习网 - HTML5先行者学习网
    videoObj = {   "video": true }, 3AnHTML5中文学习网 - HTML5先行者学习网
    errBack =   function(error) { 3AnHTML5中文学习网 - HTML5先行者学习网
      console.log("Video   capture error: ", error.code);  3AnHTML5中文学习网 - HTML5先行者学习网
    }; 3AnHTML5中文学习网 - HTML5先行者学习网
  // 设置video监听器 3AnHTML5中文学习网 - HTML5先行者学习网
  if(navigator.getUserMedia) {   // Standard 3AnHTML5中文学习网 - HTML5先行者学习网
    navigator.getUserMedia(videoObj,   function(stream) { 3AnHTML5中文学习网 - HTML5先行者学习网
      video.src   = stream; 3AnHTML5中文学习网 - HTML5先行者学习网
      video.play();   3AnHTML5中文学习网 - HTML5先行者学习网
    }, errBack); 3AnHTML5中文学习网 - HTML5先行者学习网
  } else if(navigator.webkitGetUserMedia)   { // WebKit-prefixed 3AnHTML5中文学习网 - HTML5先行者学习网
    navigator.webkitGetUserMedia(videoObj,   function(stream){ 3AnHTML5中文学习网 - HTML5先行者学习网
      video.src   = window.webkitURL.createObjectURL(stream); 3AnHTML5中文学习网 - HTML5先行者学习网
      video.play();   3AnHTML5中文学习网 - HTML5先行者学习网
    }, errBack); 3AnHTML5中文学习网 - HTML5先行者学习网
  } 3AnHTML5中文学习网 - HTML5先行者学习网
}, false);3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网  4.  电池API(Battery API)3AnHTML5中文学习网 - HTML5先行者学习网
  这是一个针对移动设备应用程序的API,主要用于检测设备电池信息。3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网
var battery =   navigator.battery || navigator.webkitBattery || navigator.mozBattery; 3AnHTML5中文学习网 - HTML5先行者学习网
// 电池属性   3AnHTML5中文学习网 - HTML5先行者学习网
console.warn("Battery charging:   ", battery.charging); // true 3AnHTML5中文学习网 - HTML5先行者学习网
console.warn("Battery level: ",   battery.level); // 0.58 3AnHTML5中文学习网 - HTML5先行者学习网
console.warn("Battery discharging   time: ", battery.dischargingTime); 3AnHTML5中文学习网 - HTML5先行者学习网
// 添加事件监听器   3AnHTML5中文学习网 - HTML5先行者学习网
battery.addEventListener("chargingchange",   function(e) { 3AnHTML5中文学习网 - HTML5先行者学习网
  console.warn("Battery   charge change: ", battery.charging); 3AnHTML5中文学习网 - HTML5先行者学习网
}, false);3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网  5.  Link Prefetching3AnHTML5中文学习网 - HTML5先行者学习网
  预加载网页内容,为浏览者提供一个平滑的浏览体验。3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网
<!-- full page -->3AnHTML5中文学习网 - HTML5先行者学习网
<link rel="prefetch" href="<a href="http://davidwalsh.name/css-enhancements-user-experience">http://davidwalsh.name/css-enhancements-user-experience</a>" /> 3AnHTML5中文学习网 - HTML5先行者学习网
<!-- just an image -->3AnHTML5中文学习网 - HTML5先行者学习网
3AnHTML5中文学习网 - HTML5先行者学习网以上就是这5个新型的API了,小伙伴们了解了吗,有什么疑问请留言,大家一起讨论,共同进步。3AnHTML5中文学习网 - HTML5先行者学习网