HTML5提供了一些非常強大的JavaScript和HTML API,來幫助開發者建立精彩的桌面和行動應用程式。本文將介紹5個新型的API,希望對你的開發工作有幫助。
1. 全螢幕API(Fullscreen API)
此API允許開發者以程式設計方式將Web應用程式全螢幕運行,使Web應用程式更像本機應用程式。
// 找到適合瀏覽器的全螢幕方法
function launchFullScreen(element) {
if(element.requestFullScreen) {
element.requestFullScreen();
} else if(element.mozRequestFullullScreen)> 🎜> } else if(element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
}
// 啟動全螢幕模式
launch page
launchFullScreen(document.getElementById("videoElement")); // any individual element
2. 頁面可見性API(Page Visibility API)
此API可以用來偵測頁面對於使用者的可見性,也就是傳回使用者目前瀏覽的頁面或標籤的狀態變化。
// 設定隱藏屬性和可見事件設定隱藏屬性和可見事件設定隱藏屬性和可見事件設定隱藏屬性和可見事件設定隱藏屬性和可見事件設定隱藏屬性和可見事件設定隱藏屬性和可見事件設定的名稱,屬性需要加瀏覽器前綴
// since some browsers only offer vendor-prefixed support
var hidden, state, visibilityChange;
if (typeof document.hidden !== "undefined"
hidden = "hidden";
visibilityChange = "visibilitychange";
state = "visibilityState";
} else if (typeof document.mozHidden !== "undefined") visibilityChange = "mozvisibilitychange";
state = "mozVisibilityState";
} else if (typeof document.msHidden !== "undefined") { visibilityChange = "msvisibilitychange";
state = "msVisibilityState";
} else if (typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden !== "undefined") {
hidden = "webkitHidden visibilityChange = "webkitvisibilitychange";
state = "webkitVisibilityState";
}
// 增加一個標題改變的監聽器
document.addEventListener(visibilityChange, function(e) {
開始或停止狀態處理
}, false);
3. getUserMedia API
此API允許網路應用程式存取攝影機和麥克風,而無需使用插件。
複製程式碼
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.webkitG. ){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
}, false);
}
}, false);
4. 電池API(Battery API)
這是一個針對行動裝置應用程式的API,主要用於偵測裝置電池資訊。