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

Posted

技术标签:

【中文标题】iPad 上缺少 html5 视频“结束”事件【英文标题】:missing html5 video "ended" event on iPad 【发布时间】:2011-04-21 21:42:45 【问题描述】:

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

干杯 -克里斯

文件加载功能:

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"  ></video>
</body>

【问题讨论】:

【参考方案1】:

不要使用load() 强制搜索。如果您将video.currentTime 设置为0.1 而不是0,视频将跳到开头,ended 事件仍将正确调度。 (在 ios 3.2 和 4.2 上测试)

【讨论】:

谢谢!你知道这是否记录在某处吗?或者它是一个错误? seek(0) 在桌面浏览器中工作。 这是一个错误,我已经在我自己的博客上“记录”了它:blog.millermedeiros.com/2011/03/…

以上是关于iPad 上缺少 html5 视频“结束”事件的主要内容,如果未能解决你的问题,请参考以下文章

iPad Safari 忽略 html5 视频上方的 div onclick

当视频更改而不重新加载页面时,HTML5 视频元素缺少 END 事件

iOS 是不是提供与 AirPlay 相关的 HTML5 视频事件?

在 iPad 上触发视频加载事件?

如何检查 HTML5 视频是不是在 Windows Phone 7 上结束?

如何在 uiwebview iOS 中处理 YouTube 视频事件(开始、结束等)