如何在全屏HTML5视频上禁用默认控件?

Vis*_*hnu 6 html5 google-chrome html5-video

我有一个指定宽度和高度的视频,双击它可以全屏使用videoElement.webkitRequestFullScreen().默认情况下,视频没有任何控件.但出于某种原因,在全屏显示时,弹出默认控件.这是我正在做的事情:

<video id="videoId" width="320" height="240" autoplay="autoplay" ondblclick="enterFullScreen('videoId')" src="Blah.mp4"></video>
Run Code Online (Sandbox Code Playgroud)

enterFullScreen(...)函数定义为:

function enterFullScreen(elementId) {
    var element = document.getElementById(elementId);
    element.webkitRequestFullScreen();
    element.removeAttribute("controls");
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我已经尝试删除函数中的控件.但无济于事.

有人能告诉我如何防止这种自动插入默认控件的事件发生吗?

Vis*_*hnu 7

最后,我找到了解决此问题的方法。正如 Alexander Farkas 建议的那样,我将视频包装在另一个 div 中,并将此父 div 设置为全屏显示,screen.height然后screen.width分别将视频的高度和宽度设置为和。我在退出全屏时恢复了两个 div 的原始属性。

伪代码:

HTML :

<div id="videoContainer" style="position:absolute;background-color:black;">
     <video id="videoId" style="height:240;width:320;" ondblclick="enterFullScreen('videoId')" src="movie.mp4"></video>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript :

function enterFullScreen(id) {
    var element = document.getElementById(id);
    element.parentNode.webkitRequestFullScreen();           
    element.style.height = screen.height;
    element.style.width = screen.width;
}
document.addEventListener("webkitfullscreenchange", function () {
    if(!document.webkitIsFullScreen) {
        // Restore CSS properties here which in this case is as follows :
        var element = document.getElementById('videoId');
        element.style.height=240;
        element.style.width=320;
    }
    }, false);
Run Code Online (Sandbox Code Playgroud)


use*_*401 7

这可以通过CSS解决,如下所述:HTML5视频不会在Chrome中以全屏模式隐藏控件

video::-webkit-media-controls {
  display:none !important;
}
Run Code Online (Sandbox Code Playgroud)