有时我的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>
答案 0 :(得分:2)
请勿使用load()
强制搜寻。如果您将video.currentTime
设置为0.1
而不是0
,视频将跳转到开头,ended
事件仍会正常发送。 (在iOS 3.2和4.2上测试)