在使用WEBM视频上的JavaScript的HTML5中,我试图在指定的时间间隔内显示移动的形状。要确定这些时间间隔,我使用setTimeout(func,0)方法返回视频的当前时间:
func() {
var time = $gVideo.attr('currentTime');
setTimeout(func, 0);
}
我遇到的问题是,在不同的浏览器上,读数变化很大。 例如,Firefox会返回:
[0,10,90,130,210,220,250,340,460,590,760,960,1090,1220,1430,1550,1760,1880,2010,2060,2090,2130,2170,2220,2260,30130,30140,30200,30260,30290,30410,30580,30750,30990,31040,31160,31240,31290,31410,31500,31530,31560] – irregular increments
铬:
[10,20,30,40 …. 31560] – multiples of 10
歌剧:
[0,10,20,30,40,50,140,230,340,430,520,710,870,1030,1220,1290,1460,1550,1720,1820,1980,1990,2170,2260,2420,2600,2760,2850,3010,3110,3290,3370,3560,3640,3800, …. 31560] – irregular increments
由于在所有浏览器中获得与Chrome相同的结果至关重要,请告知我的实施中存在的缺陷。浏览器中的视频实现返回的时间值可能会有如此大的差异,还是JavaScript中的计时器问题?
答案 0 :(得分:0)
在这种情况下你不应该使用setTimeout
,请尝试处理视频元素的timeupdate
事件并在处理程序中获取currentTime