7

我希望在不支持 JavaScript 循环标记 (ff) 的浏览器中启用 HTML5 视频循环。有谁知道访问视频播放结束并将播放恢复为零的可行性?

4

3 回答 3

20

您可以检测是否loop支持该属性,并将其设置为true.

对于不支持它的浏览器,您可以简单地绑定ended媒体事件,然后重新开始:

var myVideo = document.getElementById('videoId');
if (typeof myVideo.loop == 'boolean') { // loop supported
  myVideo.loop = true;
} else { // loop property not supported
  myVideo.addEventListener('ended', function () {
    this.currentTime = 0;
    this.play();
  }, false);
}
//...
myVideo.play();
于 2010-08-11T04:27:17.743 回答
1

您可以简单地循环打开或关闭视频loop="false"以停止自动视频重复播放。

<iframe style="position: absolute; top: 0; left: 0;"
src="http://video/name.mp4" width="100%" height="100%" frameborder="0"  webkitallowfullscreen loop="true" controls="false" mozallowfullscreen allowfullscreen></iframe>

loop="true"将启用视频播放器循环。

于 2017-11-25T06:50:04.260 回答
0
<div>Iteration: <span id="iteration"></span></div>

<video id="video-background" autoplay="" muted="" controls>
        <source src="https://res.sdfdsf.mp4" type="video/mp4">
</video>

var iterations = 1;

    document.getElementById('iteration').innerText = iterations;

        var myVideo = document.getElementById('video-background');
    myVideo.addEventListener('ended', function () {    
                alert('end');
        if (iterations < 2) {
            this.currentTime = 0;
            this.play();
            iterations ++;          
            document.getElementById('iteration').innerText = iterations;
        }   

    }, false);


   // Please note that loop attribute should not be there in video element in order for the 'ended' event to work in ie and firefox
于 2017-07-31T13:12:26.417 回答