HTML5的誕生為我們提供了許多精彩的JavaScript和HTML新功能和新功能。有些新特徵我們已知多年並大量的使用,而另一些主要是用在前沿的手機移動技術上,或者桌面應用中起輔助作用。不管這些HTML5新功能有多強大,多好用,它們都是為了幫助我們更好的開發瀏覽器前端應用。我之前跟大家分享過一篇你不知道的5個HTML5新功能,目的是希望裡面的提到的一些技術能幫助改進你的web應用。這裡我還想分享給大家一些少有人知道的HTML5新功能,希望能對你有些用處!
一、全螢幕API介面
強大的全螢幕API介面能讓程式設計師透過程式啟動瀏覽器進入全螢幕模式,並請求使用者的允許:
// Launch fullscreen for browsers that support it!
launchFullScreen(document.documentElement); // the whole page
launchFullScreen(document.getElementById("videoElementvid; >
任何頁面元素都可以成為全螢幕輸出的目標,HTML5裡甚至還提供了一個CSS偽類來讓程式設計師在瀏覽器全螢幕時控制全螢幕元素的樣式。當你在開發遊戲時這個全螢幕API介面特別有用;尤其像BananaBread這樣的槍擊遊戲。
頁面可見性API介面提供給用了一個監聽事件,這個事件能告訴程式設計師目前頁面是否是用瀏覽器中啟動的標籤頁/視窗、是否是使用者正在觀看的頁面,它還能告訴程式員用戶何時切換頁面、不再觀看本頁/視窗:
// Add a listener that constantly changes the title
document.addEventListener(visibilityChange, function(e) {
// Start or stop processing depending on state
}, false);
透過靈活的使用這個API,程式設計師可以在使用者不觀看本頁時暫停一些繁重的任務(例如AJAX或動畫)。
getUserMedia API是個非常有趣的介面!使用這個API,加上
複製程式碼
// 將視訊監聽器放置到位
if(navigator.getUserMedia) { // 標準
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play( );
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit 字首
navigator.webkitGetUserMedia(videoObj, function(> navigator.webkitGetUserMedia(videoObj, function(). = window. webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
}, false);
四、電池介面API
電池介面API顯然是專門為手機裡的瀏覽器應用設計的,它提供了讀取設備裡的電池電量和充電狀態的功能:// 一些有用的電池屬性
console.warn("電池充電: ", Battery.charging); // true
console.warn("電池電量:", Battery.level); / / 0.58
console.warn("電池放電時間:",battery.dischargingTime);
// 增加一些事件監聽器
battery.addEventListener("chargingchange", function(e) {
console.warn("電池電量變化: ", Battery.charging);
} , false);
五、頁面預先載入(Link prefetch)API
頁面預先載入(連結預取)API功能能讓瀏覽器在後台靜悄悄的預先載入/讀取一些頁面或資源到目前頁面,給使用者一個順滑的使用體驗: