HTML5 비디오 // 컨트롤을 완전히 숨기기


84

HTML5 비디오 컨트롤을 완전히 숨기려면 어떻게해야합니까?

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

거짓은 작동하지 않았습니다. 어떻게 수행됩니까?

건배.

답변:


185

이렇게 :

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

controlsA는 부울 속성 :

참고 : 부울 속성에는 "true"및 "false"값이 허용되지 않습니다. 거짓 값을 나타내려면 속성을 모두 생략해야합니다.


기술적으로 이것은 작동합니다. 그리고 나는 그것이 답이라고 생각한다. 그러나; HTML5 비디오 마크 업 내에서 '컨트롤'을 제거하면 iPad에서 비디오가 종료됩니다. 그래서 다른 해결책이 필요합니다.
Terry Hall


3
control 속성이 포함 된 태그를로드하고 일부 javascript를 사용하여 페이지로드 후 제거 할 수 있습니다. var video = document.getElementById ( 'myvideo'); video.control = 거짓;
user3072843

44
The values "true" and "false" are not allowed on boolean attributes. 혼란에 대해 이야기하십시오.
totallyNotLizards

그들이 존재하거나 그렇지 않은 : 그들은 두 가지 상태가 있기 때문에 속성은 부울입니다 @jammypeach
robertc

44

데모와 같은 CSS 의사 선택기를 사용하여 컨트롤을 숨길 수 있습니다. 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 나 자바 스크립트를 제거하고 직접 비디오 태그 코드 편집 할 수 없습니다
TinyTiger

Mozilla의 Benny 안녕하세요. "-moz-media-controls-play-button"과 같이 모두에 대해 공급 업체 접두사 css를 추가해야합니다. 감사합니다
AbidCharlotte49er

1
접두사를 추가하려고했지만 작동하지 않았습니다. 여기 updateed입니다 JSfiddle은 내가 사용하는 CSS는 여기와video::-webkit-media-controls, video::-moz-media-controls, video::-o-media-controls, video::-ms-media-controls { display: none !important; }
TinyTiger

베니, 필자는 모질라 문서에서 그 벤더 접두사가 의사 CSS를 사용할 수 없다는 것을 확인했습니다. JavaScript를 통해이를 처리 할 수 ​​있습니다. 내 코드 스 니펫을 참조하십시오. 위. 원래 솔루션을 편집했습니다. "Firefox의 경우 JavaScript로 처리해야합니다."감사합니다. 행운을 빕니다
AbidCharlotte49er

35

간단한 해결책은 – 사용자 상호 작용을 무시하는 것입니다. :-)

video {
  pointer-events: none;
}

4
초기로드시 컨트롤이 표시된다는 점을 제외하면 작동합니다.
m4n0

7

우선, 비디오의 "controls"속성을 제거하십시오.
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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.