var videoFile="test2.mp4";
$('#divVideo video source').attr('src', videoFile);
Es ändert den src, wenn ich es mit Firebug inspiziere, ändert aber nicht das abgespielte Video.
Ich habe über .pause() und .load() gelesen, bin mir aber nicht sicher, wie ich sie verwenden soll.
Versuchen $("#divVideo video")[0].load(); nachdem Sie das src-Attribut geändert haben.
Danke, ich habe es ohne versucht [0]. Aber es stellt sich heraus, dass es hinzugefügt werden muss [0] obwohl mein Selektor genau ein Video-Tag ausgewählt hat.
– Vaibhav Vishal
3. Oktober 2018 um 11:21 Uhr
@VaibhavVishal Wahrscheinlich, weil Jquery eine eigene Ladefunktion hat (vor Version 3 zwei davon).
Ich habe versucht, das Autoplay-Tag zu verwenden, und .load() .play() muss immer noch zumindest in Chrome aufgerufen werden (vielleicht sind es meine Einstellungen).
Der einfachste Cross-Browser-Weg, dies mit jquery anhand Ihres Beispiels zu tun, wäre
Zusätzliche Informationen: .load() funktioniert nur, wenn sich im Videoelement ein HTML-Quellelement befindet (z <source src="https://stackoverflow.com/questions/3983036/demo.mp4" type="video/mp4" />)
var video = document.getElementById('videoID');
video.src = videoFile;
video.load();
video.play();
Ich erhalte einen Javascript-Fehler, der besagt, dass das Laden nicht unterstützt wird. IE 11.
– Newclique
22. April 2014 um 16:51 Uhr
Ich habe einige zusätzliche Informationen in Bezug auf Ihren Fehler Wade hinzugefügt.
– vipero07
22. April 2014 um 17:33 Uhr
JQUERY
<script type="text/javascript">
$(document).ready(function() {
var videoID = 'videoclip';
var sourceID = 'mp4video';
var newmp4 = 'media/video2.mp4';
var newposter="media/video-poster2.jpg";
$('#videolink1').click(function(event) {
$('#'+videoID).get(0).pause();
$('#'+sourceID).attr('src', newmp4);
$('#'+videoID).get(0).load();
//$('#'+videoID).attr('poster', newposter); //Change video poster
$('#'+videoID).get(0).play();
});
});
Was für mich funktionierte, war die Ausgabe des Befehls „Play“, nachdem die Quelle geändert wurde. Seltsamerweise können Sie ‘play()’ nicht über eine jQuery-Instanz verwenden, also verwenden Sie einfach getElementByID wie folgt:
$(document).ready(function () {
setTimeout(function () {
$(".imgthumbnew").click(function () {
$("#divVideo video").attr({
"src": $(this).data("item"),
"autoplay": "autoplay",
})
})
}, 2000);
}
});
here ".imgthumbnew" is the class of images which are thumbs of videos, an extra attribute is given to them which have video url. u can change according to your convenient.
i would suggest you to give an ID to ur Video tag it would be easy to handle.
Der einfachste Weg ist die Verwendung von Autoplay.
<video autoplay></video>
Wenn Sie src über Javascript ändern, müssen Sie load() nicht erwähnen.
Das hat Nebenwirkungen. Sie sollten sie erwähnen.
– DylanYoung
7. Oktober 2019 um 18:44 Uhr
13086400cookie-checkWie ändert man die Videoquelle mit jQuery?yes