Javascript video.js currentTime()在触发timeupdate事件之前不正确
我注意到了一个小的不一致性,我希望将其验证为HTML5的一个怪癖,或者特定于HTML5的东西 如果您在提供新时间的同时调用Video.js'Javascript video.js currentTime()在触发timeupdate事件之前不正确,javascript,html,html5-video,video.js,Javascript,Html,Html5 Video,Video.js,我注意到了一个小的不一致性,我希望将其验证为HTML5的一个怪癖,或者特定于HTML5的东西 如果您在提供新时间的同时调用Video.js'currentTime()函数,任何进一步调用currentTime()(获取当前时间)都不会返回正确的时间(它将返回上一时间),直到触发timeupdate事件。在timeupdate事件之后,currentTime()将返回正确的时间 例如,假设视频尚未开始播放,但video.js已加载,以及所有视频元等: videoPlayer.addEvent('t
currentTime()
函数,任何进一步调用currentTime()
(获取当前时间)都不会返回正确的时间(它将返回上一时间),直到触发timeupdate
事件。在timeupdate
事件之后,currentTime()
将返回正确的时间
例如,假设视频尚未开始播放,但video.js已加载,以及所有视频元等:
videoPlayer.addEvent('timeupdate', function() {
console.log('Event callback: ' + player.currentTime);
});
console.log('Original time: ' + player.currentTime);
player.currentTime(100);
console.log('New time: ' + player.currentTime);
我期望的输出如下所示:
Original time: 0
New time: 100
Event callback: 100
然而,我得到的是:
Original time: 0
New time: 0
Event callback: 100
任何洞察都会很棒
编辑:我可以在OSX上的Chrome和Safari中复制,但不能在OSX上复制Firefox(都使用HTML5)。我还可以使用Flash播放器在IE8上复制,使用HTML5播放器在IE9上复制。我在其他几个HTML5/Flash播放器上也看到过类似的行为
我一直认为,即使在通过
currentTime(100)进行搜索之后代码>,直到下一次timeupdate
事件发生时,才会更新播放头 通过我的实验,情况似乎是这样。干杯