将 element 全屏显示。webkit内核浏览器和Firefox表现不同,前者只要求element是DOM元素即可,后者则要求DOM必须是文档流中的元素
出于安全考虑,全屏状态下默认是不允许用户输入的。webkit 内核浏览器会阻止除方向键、控制键之外的键盘输入,FireFox 会在输入时发出要求用户退出全屏状态的提示。前者可以通过在方法 webkitRequestFullScreen() 中传入参数 Element.LLOW_KEYBOARD_INPUT 允许用户输入,但 Safari 一旦传入该参数,整个 Fullscreen 功能都会坏掉(这应该是 Safari 的一个bug);后者直接就可以输入
webkit 浏览器中可以通过只读属性document.webkitFullScreenKeyboardInputAllowed 查看当前是否允许全屏状态下的输入。
function requestFullscreen( elem ) {
if (elem.requestFullscreen) {
elem.requestFullscreen();
}
else if (elem.webkitRequestFullScreen) {
// 对 Chrome 特殊处理,
// 参数 Element.ALLOW_KEYBOARD_INPUT 使全屏状态中可以键盘输入。
if ( window.navigator.userAgent.toUpperCase().indexOf( 'CHROME' ) >= 0 ) {
elem.webkitRequestFullScreen( Element.ALLOW_KEYBOARD_INPUT );
}
// Safari 浏览器中,如果方法内有参数,则 Fullscreen 功能不可用。
else {
elem.webkitRequestFullScreen();
}
}
else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
}
}
退出全屏
function exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
}