HTML5 全屏 API 允许元素(如 video)进入全屏模式。由于浏览器兼容性问题,需处理不同前缀。
通过 JavaScript 调用全屏方法:
const video = document.getElementById('myVideo');
function openFullscreen() {
if (video.requestFullscreen) {
video.requestFullscreen();
} else if (video.mozRequestFullScreen) { // Firefox
video.mozRequestFullScreen();
} else if (video.webkitRequestFullscreen) { // Chrome, Safari and Opera
video.webkitRequestFullscreen();
} else if (video.msRequestFullscreen) { // IE/Edge
video.msRequestFullscreen();
}
}
可将该函数绑定到按钮点击事件:
退出全屏状态
可通过 document.exitFullscreen() 方法退出全屏:
function exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
注意:全屏状态改变时,可监听 fullscreenchange 事件来更新 UI 状态。
扩展自定义视频控件
隐藏默认 controls 后,可创建自定义播放按钮、进度条、音量滑块等。
示例:添加自定义全屏按钮并控制样式
通过监听 fullscreenchange 事件,可动态更新按钮文本或图标。
基本上就这些。结合 video 标签和全屏 API,能轻松实现功能完整的视频播放器。注意兼容性和用户交互提示,确保在各种浏览器中稳定运行。