html5下F11全屏化的幾點注意

一、實現全屏化web

var docElm = document.documentElement;
//W3C
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
}
//FireFox
else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
}
//Chrome等
else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
}
//IE11
else if (docElm.msRequestFullscreen) {
docElm.msRequestFullscreen();
}chrome

二、退出全屏化測試

if (document.exitFullscreen) {
document.exitFullscreen();
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
else if (document.msExitFullscreen) {
document.msExitFullscreen();
}firefox

退出全屏化的問題來了,若是想用 ESC鍵 在退出全屏化的時候監聽這個事件,經測試在IE中是能夠監聽到,firefox和chrome 中都沒法監聽到。事件

爲了達到監聽 ESC的效果,解決方案以下:it

window.onresize = function(){
if(!checkFull()){
//要執行的動做
}
}

function checkFull(){
var isFull =  document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullscreenEnabled;

//to fix : false || undefined == undefined
if(isFull === undefined) isFull = false;
return isFull;
}io

退出全屏化以後監控 window的resize事件,resize觸發以後最好取消掉這個監聽。function

相關文章
相關標籤/搜索