W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
全屏API可以控制瀏覽器的全屏顯示,讓一個Element節(jié)點(以及子節(jié)點)占滿用戶的整個屏幕。目前各大瀏覽器的最新版本都支持這個API(包括IE11),但是使用的時候需要加上瀏覽器前綴。
Element節(jié)點的requestFullscreen方法,可以使得這個節(jié)點全屏。
function launchFullscreen(element) {
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.msRequestFullscreen){
element.msRequestFullscreen();
} else if(element.webkitRequestFullscreen) {
element.webkitRequestFullScreen();
}
}
launchFullscreen(document.documentElement);
launchFullscreen(document.getElementById("videoElement"));
放大一個節(jié)點時,F(xiàn)irefox和Chrome在行為上略有不同。Firefox自動為該節(jié)點增加一條CSS規(guī)則,將該元素放大至全屏狀態(tài),width: 100%; height: 100%
,而Chrome則是將該節(jié)點放在屏幕的中央,保持原來大小,其他部分變黑。為了讓Chrome的行為與Firefox保持一致,可以自定義一條CSS規(guī)則。
:-webkit-full-screen #myvideo {
width: 100%;
height: 100%;
}
document對象的exitFullscreen方法用于取消全屏。該方法也帶有瀏覽器前綴。
function exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
exitFullscreen();
用戶手動按下ESC鍵或F11鍵,也可以退出全屏鍵。此外,加載新的頁面,或者切換tab,或者從瀏覽器轉(zhuǎn)向其他應(yīng)用(按下Alt-Tab),也會導(dǎo)致退出全屏狀態(tài)。
fullscreenElement屬性返回正處于全屏狀態(tài)的Element節(jié)點,如果當前沒有節(jié)點處于全屏狀態(tài),則返回null。
var fullscreenElement =
document.fullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement;
fullscreenEnabled屬性返回一個布爾值,表示當前文檔是否可以切換到全屏狀態(tài)。
var fullscreenEnabled =
document.fullscreenEnabled ||
document.mozFullScreenEnabled ||
document.webkitFullscreenEnabled ||
document.msFullscreenEnabled;
if (fullscreenEnabled) {
videoElement.requestFullScreen();
} else {
console.log('瀏覽器當前不能全屏');
}
以下事件與全屏操作有關(guān)。
fullscreenchange事件:瀏覽器進入或離開全屏?xí)r觸發(fā)。
document.addEventListener("fullscreenchange", function( event ) {
if (document.fullscreenElement) {
console.log('進入全屏');
} else {
console.log('退出全屏');
}
});
上面代碼在發(fā)生fullscreenchange事件時,通過fullscreenElement屬性判斷,到底是進入全屏還是退出全屏。
全屏狀態(tài)下,大多數(shù)瀏覽器的CSS支持:full-screen
偽類,只有IE11支持:fullscreen
偽類。使用這個偽類,可以對全屏狀態(tài)設(shè)置單獨的CSS屬性。
:-webkit-full-screen {
/* properties */
}
:-moz-full-screen {
/* properties */
}
:-ms-fullscreen {
/* properties */
}
:full-screen { /*pre-spec */
/* properties */
}
:fullscreen { /* spec */
/* properties */
}
/* deeper elements */
:-webkit-full-screen video {
width: 100%;
height: 100%;
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: