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

时间:2012-05-02 15:21:54

标签: javascript html5 events video

我注意到当HTML5视频结束时,Windows Phone 7的默认浏览器不会触发“已结束”事件。

所以我认为我可以每100毫秒不断检查当前时间然后计算:

if (videolength - video.currentTime <= 0) alert("ended");

这也不起作用,因为Windows Phone 7的本机浏览器始终执行:"170 - 0"

video.currentTime 始终 0,无论我检查哪部分视频。

如何检查视频是否已在Windows Phone 7上结束?

更新:我刚检查了浏览器的用户代理,它说的是ie9。那么,为什么它不想解雇“已结束”事件?

1 个答案:

答案 0 :(得分:0)

如果您尝试使用addEventListener或jQuery绑定来侦听事件,则需要使用事件类型“已结束”而不是元素的事件处理程序“onended”的名称。

[更新]

因此,IE 9移动版似乎支持HTML5视频API的非常有限的子集。这个W3 demo对于测试它实际支持的API的哪些元素非常有用。

根据您的要求,从问题中不完全清楚,在我看来,您的选择非常有限。你可以:

  1. 使用浏览器的原生播放器,接受无法检测到视频结束的情况,并等待Microsoft一起采取行动,增加对所需API部分的支持。
  2. 使用Flash解决方案作为后备(如果您计划支持旧版浏览器,则无论如何都需要一个),并鼓励小型但不可避免地增长的IE 9移动用户数安装metro browser。它得到的评论不一,并不完全清楚它是否支持除列出的视频播放器之外的Flash视频播放器,但声称支持YouTube。至少可能值得考虑。
  3. 希望Google更新Chrome frame以便在Windows 7手机上运行。我不知道这有多大可能,但是用Google框架填充IE 9的想法让我很开心,到目前为止,这个答案一直很低笑。
  4. 哦,微软,如果您要关注Apple的示例并放弃对移动设备上Flash的支持,至少要确保您的浏览器支持大量的HTML5视频API。