修改其<source />元素的src属性后,视频不会更新

时间:2015-01-14 02:05:22

标签: javascript html dom

我正在尝试更改<video>的来源,但它没有播放新视频:

<body onload="setvid()">
    <div id="container">
            <video width="640" height="360" autoplay loop>
                <source id="srcc" src="" type="video/mp4">
            </video>
    </div>
    <script type="text/javascript">
        function setvid() {
            document.getElementById("srcc").src = "vid" + Math.floor(Math.random() * 10) + ".mp4";
        }
    </script>
</body>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

来自specification(强调我的):

  

src属性提供媒体资源的地址。该值必须是可能由空格包围的有效非空URL。该属性必须存在。

     

注意:当元素已插入sourcevideo元素时,动态修改audio元素及其属性将不起作用。要更改正在播放的内容,只需直接使用媒体元素上的src属性,可能会使用canPlayType()方法从可用资源中进行选择。通常,在解析文档之后手动操作源元素是一种不必要的复杂方法。

因此,您似乎应该将新来源分配给<video>元素。

<div id="container">
        <video width="640" height="360" autoplay loop />
</div>
<script type="text/javascript">
    function setvid() {
        document.querySelector('video').src = "...";
    }
</script>