使ç¨å ¨è¢å¹æ¨¡å¼
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Want more support for this feature? Tell us why.
å ¨è¢å¹ API æä¾ä¸åç°¡ä¾¿çæ¹å¼ä½¿ç¶²é å¯ä»¥ä½¿ç¨ä½ç¨ä½¿ç¨è çæ´åè¢å¹çæ¹å¼ä¾é¡¯ç¤ºå §å®¹ã該 API è®ä½ è½å¤ 容æå°æç¤ºç覽å¨ä½¿æåå ç´ åå ¶åç³»ï¼å¦æï¼ä½ç¨æ´åè¢å¹ï¼ä¸¦é±èè¢å¹ä¸ææç覽å¨ä½¿ç¨è ä»é¢åå ¶ä»æç¨ç¨å¼ã
å註ï¼ç®å䏦鿿ç覽å¨åä½¿ç¨ API çæ²æåç¶´ççæ¬ãè«æ¥é±æéå綴以åå稱差ç°çè¡¨æ ¼ï¼ä½ ä¹å¯ä»¥ä½¿ç¨ Fscreen 便ä¾è·¨çè¦½å¨ API ååï¼ã
ååå ¨è¢å¹æ¨¡å¼
å¦æä½ æä¸åå
ç´ æç®ä»¥å
¨è¢å¹æ¨¡å¼å±ç¤ºï¼ä¾å¦ <video>ï¼ï¼ä½ å¯ä»¥å¼å«è©²å
ç´ ä¹ Element.requestFullscreen() æ¹æ³ä½¿ä¹ä»¥å
¨è¢å¹æ¨¡å¼é¡¯ç¤ºã
èæ
®æ¤ <video> å
ç´ ï¼
<video controls id="myvideo">
<source src="somevideo.webm"></source>
<source src="somevideo.mp4"></source>
</video>
æåå¯ä»¥ä½¿ç¨æä»¤ç¢¼å°æ¤å½±çå ¨è¢å¹é¡¯ç¤ºï¼
var elem = document.getElementById("myvideo");
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen();
}
åç¾å·®ç°
å¼å¾çæçæ¯ï¼Gecko å WebKit ç坦使ééµåå¥ï¼Gecko æå¢å CSS è¦åè®å
¨è¢å¹çå
ç´ å±å»¶è³å¡«æ»¿æ´åè¢å¹ï¼"width: 100%; height: 100%"ãWebKit å䏿å·è¡æ¤åä½ï¼åè代ä¹çæ¯æè©²å
ç´ ç½®ä¸ï¼ä¸¦ä»¥åå
ç大å°é¡¯ç¤ºãè¦åå¾å樣çå
¨è¢å¹è¡çºï¼ä½ éè¦çºè©²å
ç´ èªè¡æ·»å "width: 100%; height: 100%;" ç CSS è¦åï¼
#myvideo:-webkit-full-screen {
width: 100%;
height: 100%;
}
å¦ä¸æ¹é¢ï¼å¦æä½ åè©¦å¨ Gecko 䏿¨¡æ¬ WebKit çè¡çºï¼ä½ éè¦æåç¾çå ç´ æ¾ç½®å¨å¦ä¸å實é調æ´çºå ¨è¢å¹çå ç´ è£¡é¢ï¼åä½¿ç¨ CSS è¦åä¾èª¿æ´å §é¨å ç´ è³ä½ æ³è¦çå¤è§ã
éç¥
妿æåé²å
¥å
¨è¢å¹æ¨¡å¼ï¼å
å«è©²å
ç´ çæä»¶å°ææ¥æ¶å° fullscreenchange äºä»¶ãç¶é¢éå
¨è¢å¹æ¨¡å¼æï¼åææ¶å° fullscreenchange äºä»¶ã注æ fullscreenchange äºä»¶ä¸¦ä¸æä¾ä»»ä½è³è¨æç¤ºé²å
¥æé¢éå
¨è¢å¹æ¨¡å¼ï¼ä½å¦ææä»¶ç fullscreenElement 屬æ§çå¼ä¸çº nullï¼åè¡¨ç¤ºä½ æ£å¨èæ¼å
¨è¢å¹æ¨¡å¼ã
å ¨è¢å¹è¦æ±å¤±æ
䏦䏿¯æææ
æ³ä¸é½ä¿èå¯ä»¥é²å
¥å
¨è¢å¹æ¨¡å¼ãä¾å¦ï¼<iframe> å
ç´ å«æ allowfullscreen 屬æ§ä¾é¸ææ¯å¦å®¹è¨±å
¶å
§å®¹è½ä»¥å
¨è¢å¹æ¹å¼åç¾ãèä¸ï¼ä¾å¦è¦çªå¼å¤æç¨å¼ççæäºå
§å®¹ä¸¦ä¸å¯ä»¥å¨å
¨è¢å¹æ¨¡å¼ä¸é¡¯ç¤ºãæç¡æ³åç¾çºå
¨è¢å¹çå
ç´ è¨å®çºå
¨è¢å¹æ¨¡å¼çåè©¦é½æ²æä½ç¨ï¼èè¦æ±é¡¯ç¤ºçºå
¨è¢å¹çå
ç´ ææ¥æ¶å° mozfullscreenerror äºä»¶ãç¶å
¨è¢å¹è¦æ±å¤±ææï¼Firefox æå¨ç¶²é 主æ§å°ä¸ç´éä¸åé¯èª¤è¨æ¯ï¼è§£éè¦æ±å¤±æçåå ãä½å¨ Chrome 以忰çç Opera ä¸ï¼å䏿ç¢çéäºé¯èª¤è¨æ¯ã
å註ï¼å ¨è¢å¹è¦æ±å¿ é å¨äºä»¶èç常å¼ä¸å¼å«ï¼å¦åå°æè¢«æçµã
é¢éå ¨è¢å¹æ¨¡å¼
使ç¨è
æ°¸é å¯ä»¥èªè¡é¢éå
¨è¢å¹æ¨¡å¼ï¼è©³è¦ Things your users want to knowãä½ ä¹å¯ä»¥å¼å« Document.exitFullscreen() æ¹æ³ä¾éå°ç¸åææã
å ¶ä»è³è¨
document æä¾ä¸äºéå è³è¨ï¼å°æ¼éç¼å
¨è¢å¹ç¶²é æç¨ç¨å¼çæåé常æç¨ï¼
fullscreenElement-
fullscreenElement屬æ§å³åæ£å¨é¡¯ç¤ºçºå ¨è¢å¹æ¨¡å¼çelementãå¦å ¶çºé null å¼ï¼è¡¨ç¤ºæä»¶ç®åå¨å ¨è¢å¹æ¨¡å¼ãå¦å ¶çº nullï¼è¡¨ç¤ºæä»¶ç®åä¸å¨å ¨è¢å¹æ¨¡å¼ã fullscreenEnabled-
fullscreenEnabled屬æ§å³åæä»¶æ¯å¦å®¹è¨±ä½ è¦æ±é²å ¥å ¨è¢å¹è¨æ¯ã
使ç¨è å¯è½æ³äºè§£çè¨æ¯
ä½ å¯è½æè®ä½¿ç¨è ç¥éä»åå¯ä»¥æ ESC æ F11 éµä¾é¢éå ¨è¢å¹æ¨¡å¼ã
æ¤å¤ï¼çè¦½å ¶ä»é é¢ãåæåé ãæåæå°å ¶ä»æç¨ç¨å¼ï¼ä¾å¦æ éµï¼äº¦æé¢éå ¨è¢å¹æ¨¡å¼ã
ç¯ä¾
In this example, a video is presented in a web page. Pressing the Return or Enter key lets the user toggle between windowed and fullscreen presentation of the video.
ç£è¦ Enter éµ
When the page is loaded, this code is run to set up an event listener to watch for the 'enter' key.
document.addEventListener(
"keydown",
function (e) {
if (e.keyCode == 13) {
toggleFullScreen();
}
},
false,
);
Toggling fullscreen mode
This code is called when the user hits the Enter key, as seen above.
function toggleFullScreen() {
if (
!document.fullscreenElement && // alternative standard method
!document.mozFullScreenElement &&
!document.webkitFullscreenElement &&
!document.msFullscreenElement
) {
// current working methods
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if (document.documentElement.msRequestFullscreen) {
document.documentElement.msRequestFullscreen();
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if (document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen(
Element.ALLOW_KEYBOARD_INPUT,
);
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
}
This starts by looking at the value of the fullscreenElement attribute on the document (checking it prefixed with both moz, ms, and webkit). If it's null, the document is currently in windowed mode, so we need to switch to fullscreen mode. Switching to fullscreen mode is done by calling either element.mozRequestFullScreen() msRequestFullscreen()or webkitRequestFullscreen(), depending on which is available.
If fullscreen mode is already active (fullscreenElement is non-null), we call document.mozCancelFullScreen(), msExitFullscreen or webkitExitFullscreen(), again depending on which browser is in use.
è¦ç¯
ç覽å¨å ¼å®¹æ§
>api.Document.fullscreenElement
api.Document.fullscreenEnabled
api.Document.exitFullscreen
api.Element.requestFullscreen
éæ¨æºæ¹æ³
These are some of the methods that browsers implemented before the standard was drafted. Having the standard methods described above it's better to avoid using the following ones:
window.fullScreen(Firefox)HTMLMediaElement.webkitDisplayingFullscreenHTMLMediaElement.webkitEnterFullscreenHTMLMediaElement.webkitExitFullscreenHTMLMediaElement.webkitSupportsFullscreen