use*_*039 5 javascript jquery html5 google-chrome html5-video
我想在单击特定按钮时捕获HTML5视频的当前运行时间.这是我的代码
var vid = document.getElementById("video1");
$('#cap-cue').click(function(){
var curtime = vid.currentTime;
alert(curtime);
});
Run Code Online (Sandbox Code Playgroud)
这适用于大多数浏览器,但不适用于chrome.
更新(2015 年 10 月):我发现它实际上与 Chrome 使用currentTime无关,而是与它处理 video.load() 的方式有关。
这是有关该问题的错误报告。在这一点上它已经超过 2.5 年了,并且不断被推回到其他报告中,但这是一个众所周知的错误。如果他们此时还没有修复它,那么我不相信它在他们的优先级列表中很高。
此错误已合并到问题 #31014 中,该问题于 15 年 8 月被标记为已修复,但似乎人们(包括我自己)仍然存在此问题。
这似乎源于这样一个事实:如果您尝试向同一 URL 发出多个请求以检索任何媒体元素(音频或视频),则网络连接似乎在 Chrome 中挂起。我对此进行了测试,果然,这正是我的情况。
人们在上面的那个线程中报告了几种解决方法,但我无法让它们中的任何一个工作。
currentTime 在 Chrome 中无法正常工作。我今天用 videojs 测试了这个,因为这是唯一一个抛出问题的浏览器,然后切换到标准的 HTML5 视频播放器,并遇到了同样的问题。
在 FF 和 Edge 中工作正常,但在 Chrome 中不起作用。
更奇怪的是,即使不加载视频,也不会抛出错误。至少对于 videojs,它会引发关于无法加载的错误。
我今天向 videojs 提交了一个错误报告,认为这与他们的播放器有关,但经过进一步考虑,这似乎是 Chrome 的问题。希望它至少会为标准的 HTML5 播放器抛出一个错误。
确保文档上的视频元素准备就绪:
$(function() {
var vid = document.getElementById("vid");
});
$('#getTime').on('click', function() {
var currentTime = vid.currentTime;
$('#currentTime').html(currentTime);
});
Run Code Online (Sandbox Code Playgroud)
在 Windows 上使用 Chrome、Firefox 和 IE10 进行了测试。
| 归档时间: |
|
| 查看次数: |
6123 次 |
| 最近记录: |