HTML5视频//完全隐藏控件


84

如何完全隐藏HTML5视频控件?

<video width="300" height="200" controls="false" autoplay="autoplay">
<source src="video/supercoolvideo.mp4" type="video/mp4" />
</video> 

false无效-如何完成?

干杯。

Answers:


185

像这样:

<video width="300" height="200" autoplay="autoplay">
  <source src="video/supercoolvideo.mp4" type="video/mp4" />
</video>

controls是一个布尔属性

注意:布尔属性上不允许使用值“ true”和“ false”。为了表示一个假值,必须完全省略该属性。


从技术上讲,这是可行的;我想这就是答案。虽然; 删除HTML5视频标记中的“控件”,将杀死iPad上的视频;因此需要另一种解决方案。
特里·霍尔


3
您可以尝试加载包含控件属性的标签,并在页面加载后使用一些JavaScript将其删除:var video = document.getElementById('myvideo'); video.control = false;
user3072843

44
The values "true" and "false" are not allowed on boolean attributes。谈论混乱。
totallyNotLizards 2015年

@jammypeach属性为布尔值,因为它们具有两种状态:存在或不存在
robertc

44

您可以使用CSS伪选择器(如Demo)隐藏控件:https : //jsfiddle.net/g1rsasa3

//For Firefox we have to handle it in JavaScript 
var vids = $("video"); 
$.each(vids, function(){
       this.controls = false; 
}); 
//Loop though all Video tags and set Controls as false

$("video").click(function() {
  //console.log(this); 
  if (this.paused) {
    this.play();
  } else {
    this.pause();
  }
});
video::-webkit-media-controls {
  display: none;
}

/* Could Use thise as well for Individual Controls */
video::-webkit-media-controls-play-button {}

video::-webkit-media-controls-volume-slider {}

video::-webkit-media-controls-mute-button {}

video::-webkit-media-controls-timeline {}

video::-webkit-media-controls-current-time-display {}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<!-- Hiding HTML5 Video Controls using CSS Pseudo selectors -->

<video width="800" autoplay controls="false">
  <source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" type="video/mp4">
</video>


这非常适合Chrome,但不适用于Firefox。您有跨浏览器的解决方案吗?
TinyTiger

需要用CSS或JavaScript删除它们,因为我一起乱砍东西,无法直接编辑视频标签代码
TinyTiger

嗨,本尼(Mozilla)。您需要为所有它们添加供应商前缀的css,例如“ -moz-media-controls-play-button”。谢谢
AbidCharlotte49er

1
尝试添加前缀,但是没有用。这是更新的JSfiddle,这是我使用的CSSvideo::-webkit-media-controls, video::-moz-media-controls, video::-o-media-controls, video::-ms-media-controls { display: none !important; }
TinyTiger

本尼,我在Mozilla文档中检查了那些没有供应商前缀的伪CSS。您可以通过JavaScript处理。请查看我的代码段。以上 。我已经编辑了原始解决方案。“对于Firefox,我们必须使用JavaScript处理它”祝您好运
AbidCharlotte49er

35

一个简单的解决方案是–只忽略用户交互:-)

video {
  pointer-events: none;
}

4
除在初始加载时显示控件外,此方法有效。
m4n0

7

首先,删除视频的“控件”属性。
对于iOS,我们可以通过添加以下CSS伪选择器来隐藏视频的内置播放按钮:

video::-webkit-media-controls-start-playback-button {
    display: none;
}

3

这种方法适用于我的情况。

video=getElementsByTagName('video');
function removeControls(video){
  video.removeAttribute('controls');
}
window.onload=removeControls(video);

1
<video width="320" height="240" autoplay="autoplay">
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  Your browser does not support the video tag.
</video>

我同意。最简单的解决方案是永远不要将属性放在开头。
PRMan

0
document.addEventListener("DOMContentLoaded", function() { initialiseMediaPlayer(); }, false);


function initialiseMediaPlayer() {

    mediaPlayer = document.getElementById('media-video');

    mediaPlayer.controls = false;

    mediaPlayer.addEventListener('volumechange', function(e) { 
        // Update the button to be mute/unmute
        if (mediaPlayer.muted) changeButtonType(muteBtn, 'unmute');
        else changeButtonType(muteBtn, 'mute');
    }, false);  
    mediaPlayer.addEventListener('ended', function() { this.pause(); }, false); 
}

<!-用全文<script src ='media-player.js'> </ script>制成并放在同一目录中->
user6884687
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.