JavaScript 全屏功能允许网页内容占据整个屏幕,提供沉浸式的用户体验。以下是关于 JavaScript 全屏的相关基础概念、优势、类型、应用场景以及常见问题和解决方法。
全屏模式是指将网页的某个元素(通常是 <video>
、<canvas>
或整个 <body>
)扩展到显示器的整个屏幕区域。这通常通过浏览器提供的全屏 API 来实现。
<video>
或 <div>
)进入全屏模式。以下是一个简单的示例代码,展示如何使用 JavaScript 实现将一个元素(例如一个 <div>
)切换到全屏模式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fullscreen Example</title>
<style>
#fullscreenDiv {
width: 300px;
height: 200px;
background-color: lightblue;
text-align: center;
line-height: 200px;
}
</style>
</head>
<body>
<div id="fullscreenDiv">Click me to go fullscreen</div>
<button onclick="toggleFullScreen()">Toggle Fullscreen</button>
<script>
function toggleFullScreen() {
const elem = document.getElementById('fullscreenDiv');
if (!document.fullscreenElement) {
elem.requestFullscreen().catch(err => {
alert(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`);
});
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
}
}
}
document.addEventListener('fullscreenchange', () => {
console.log(document.fullscreenElement ? 'Entered fullscreen' : 'Exited fullscreen');
});
</script>
</body>
</html>
requestFullscreen
、webkitRequestFullscreen
、mozRequestFullScreen
等方法来兼容不同的浏览器。requestFullscreen
,但为了更好的兼容性,可以添加前缀:function toggleFullScreen() {
const elem = document.getElementById('fullscreenDiv');
if (!document.fullscreenElement) {
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.webkitRequestFullscreen) { // Chrome, Safari and Opera
elem.webkitRequestFullscreen();
} else if (elem.mozRequestFullScreen) { // Firefox
elem.mozRequestFullScreen();
} else if (elem.msRequestFullscreen) { // IE/Edge
elem.msRequestFullscreen();
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { // Chrome, Safari and Opera
document.webkitExitFullscreen();
} else if (document.mozCancelFullScreen) { // Firefox
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) { // IE/Edge
document.msExitFullscreen();
}
}
}
click
或 keydown
)中调用全屏 API。通过以上方法,可以实现一个兼容性较好的全屏功能,并解决常见的实现问题。
领取专属 10元无门槛券
手把手带您无忧上云