iPad上缺少html5视频“已结束”事件

时间:2010-10-06 15:18:43

标签: ipad html5-video

有时我的HTML5视频不会在iPad上生成“已结束”的事件。似乎只有当我省略“controls”属性并从javascript开始播放时才会发生。它通常在第一次正常工作,但第二次播放视频但不会产生“结束”事件。我在每次播放后都会调用“load()”来重置为剪辑的开头(因为搜索似乎根本不起作用 - 请参阅this thread)。我有一个解决方法,即跟踪“timeupdate”事件并在vid.currentTime>=vid.duration时执行我的结束操作,但我想知道是否有其他人遇到过这个问题。一些相关的代码如下。

干杯 -Chris

文档onload功能:

function load() {
    var vid = document.getElementById('vid');
    vid.addEventListener('ended', function() {
        alert('video ended');
        vid.load();
    },false);
}

html:

<body onload="load();">
<h1>HTML5 Video Test</h1>
<input type="submit" value="Play" onclick="document.getElementById('vid').play();">
<video id="vid" src="test.mov" width="640" height="480"></video>
</body>

1 个答案:

答案 0 :(得分:2)

请勿使用load()强制搜寻。如果您将video.currentTime设置为0.1而不是0,视频将跳转到开头,ended事件仍会正常发送。 (在iOS 3.2和4.2上测试)