HTML5-Video // Steuerelemente vollständig ausblenden


84

Wie kann ich HTML5-Videosteuerelemente vollständig ausblenden?

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

false hat nicht funktioniert - wie geht das?

Prost.

Antworten:


184

So was:

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

controlsist ein boolesches Attribut :

Hinweis: Die Werte "true" und "false" sind für boolesche Attribute nicht zulässig. Um einen falschen Wert darzustellen, muss das Attribut vollständig weggelassen werden.


Technisch funktioniert das also; und ich denke, ist die Antwort. Obwohl; Durch Entfernen von "Steuerelementen" innerhalb des HTML5-Video-Markups wird das Video auf dem iPad beendet. Ich brauche also eine andere Lösung.
— Regenbogen Randolph


3
Sie könnten versuchen, das Tag einschließlich des Steuerattributs zu laden und es nach dem Laden der Seite mit etwas Javascript zu entfernen: var video = document.getElementById ('myvideo'); video.control = false;
— user3072843

44
The values "true" and "false" are not allowed on boolean attributes. über verwirrend sprechen.
— totalNotLizards

@jammypeach Die Attribute sind boolesch, weil sie zwei Zustände haben: sie existieren oder sie existieren nicht
— robertc

42

Sie können Steuerelemente mit CSS-Pseudo-Selektoren wie Demo ausblenden: 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>


Dies funktioniert gut für Chrome, aber nicht für Firefox. Haben Sie eine browserübergreifende Lösung?
— TinyTiger

Müssen sie mit CSS oder JavaScript entfernen, weil ich etwas zusammen
— hacke

Hey Benny für Mozilla. Sie müssen CSS mit dem Präfix des Herstellers für alle hinzufügen, z. B. "-moz-media-control-play-button". Danke
— AbidCharlotte49er

1
Versucht, die Präfixe hinzuzufügen, aber es hat nicht funktioniert. Hier ist eine aktualisierte JSfiddle und hier ist das CSS, das ich verwendet habevideo::-webkit-media-controls, video::-moz-media-controls, video::-o-media-controls, video::-ms-media-controls { display: none !important; }
— TinyTiger

Benny, ich habe im Mozilla-Dokument eingecheckt, dass das vom Anbieter vorangestellte Pseudo-CSS nicht verfügbar ist. Sie können dies über JavaScript handhaben. Bitte beachten Sie mein Code-Snippet. über . Ich habe meine ursprüngliche Lösung bearbeitet. "Für Firefox müssen wir es in JavaScript behandeln" Danke Viel Glück
— AbidCharlotte49er

35

Eine einfache Lösung ist - nur um Benutzerinteraktionen zu ignorieren :-)

video {
  pointer-events: none;
}

4
Dies funktioniert mit der Ausnahme, dass die Steuerelemente beim ersten Laden angezeigt werden.
— m4n0

6

Entfernen Sie zunächst das Attribut "Steuerelemente" des Videos.
Für iOS können wir die eingebaute Wiedergabetaste des Videos ausblenden, indem wir den folgenden CSS-Pseudo-Selektor hinzufügen:

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

3

Diese Methode hat in meinem Fall funktioniert.

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

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); 
}

<! - Aus vollständigem Text <script src = 'media-player.js'> </ script> erstellen und in dasselbe Verzeichnis stellen ->
— user6884687

0
<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>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.