【问题标题】:Javascript to stop HTML5 video download, restore source when video is playedJavascript停止HTML5视频下载,播放视频时恢复源
【发布时间】:2013-05-03 16:15:56
【问题描述】:

我正在处理具有多个 HTML5 视频元素的页面,当单击链接时,这些元素会在 CSS 模式框中弹出。该页面最初会开始下载页面上的每个视频,但是,在这里找到类似的主题后,我能够将源设置为 src="",从而使页面快速加载。 当用户选择一个视频并在模态框中弹出时,我现在尝试恢复下载时遇到了困难。

我对 Javascript 并不陌生,但我也不精通。理想情况下,每个视频源都应该设置为“”,然后当视频打开时,视频应该重新加载。我还添加了一个功能,用于在模式关闭时暂停视频,因为它用于继续播放。感谢任何帮助或批评,我在这里学习。谢谢!

HTML:

<div class="image" style="float:left;margin:0;"><a href = "#layers" id="showModal"><img src="video-image.png" alt="Play visualization" width="150"/><br />Layers</a>
    <div id="layers" class="modalDialog">
        <div> 
            <a href="#close" class="close" id="closeModal">Close</a>
            <h3>Layers</h3>
            <video id="videoContainer" class="videoContainer" loop="loop" style="width:698px;">
                <source src="video-file.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
                <source src="video-file.webm" type='video/webm; codecs="vp8, vorbis"' />
                <source src="video-file.ogv" type='video/ogg; codecs="theora, vorbis"' />
            </video>
        </div>
    </div>
</div>

Javascript:

$(document).ready(function(){

 for(var i=0; i< 20; i++)
 {
     document.getElementsByTagName("video")[i].src="";
 }
 $("#showModal").click(function() {
    var videoID = document.getElementsById("showModal").getAttribute('href');
    var videoElement = document.getElementsById(videoID).getElementsByTagName("video");
    videoElement.load();

    });

    $("#closeModal").click(function() {
        $("#videoContainer")[0].pause();             
    });
});

【问题讨论】:

    标签: javascript html5-video modal-dialog


    【解决方案1】:

    这个answer 可能是相关的。

    没有您的文件,但使用以下代码使其正常工作:

     <video id="videoContainer" class="videoContainer" style="width:698px;">  
       <source id="mp4Source" src="http://techslides.com/demos/sample-videos/small.mp4" type="video/mp4">
     </video>
    
    
    $("#showModal").click(function () {
        var videoID = document.getElementById("showModal").getAttribute('href');
        var videoElement = document.getElementById("layers").getElementsByTagName("video")[0];
        var srcID = document.getElementById("mp4Source");
    
        videoElement.src = srcID.getAttribute("src");
        videoElement.load();
        videoElement.play();
    });
    

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 2023-03-29
      • 2019-10-11
      • 2018-11-27
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      相关资源
      最近更新 更多