编程语言
首页 > 编程语言> > javascript-如何得知元素内的视频已完全加载?

javascript-如何得知元素内的视频已完全加载?

作者:互联网

我想通过jQuery或Javascript检测何时完全加载了html5标签内的特定视频(我是说,已下载到浏览器的缓存中).该视频具有preload =“ auto”属性.

我竭尽所能做到这一点(我是初学者),但没有运气.似乎找不到我可以听的任何事件,有什么办法可以做到这一点?

PS:我遇到的唯一一件事是视频对象的network_state属性,但是网络上的引用似乎与它返回的状态不一致,当我尝试它时,我没有找到“ LOADED”的状态”.

编辑:我发现我可以使用的事件canPlayThrough.我对其进行了测试,并且似乎可以正常工作,但是我不确定它是否真的告诉我该视频已完全加载,或者只是加载了足以开始播放的数据(不好).

解决方法:

您可以绑定到结束事件:

$("video").bind(eventname, function() {
   alert("I'm done!");
});

其中eventname是您要列出的事件

事件的完整列表在这里-> http://dev.w3.org/html5/spec/Overview.html#mediaevents

更新 :

要获取百分比加载,可以结合使用以下两个事件:

$("video").bind('durationchange', checkProgress);
$("video").bind('progress', checkProgress);

function updateSeekable() {
  var percentageComplete = (100 / (this.duration || 1) *
    ($(this).seekable && $(this).seekable.length ? $(this).seekable.end : 0)) + '%';
}

标签:html5,html5-video,javascript,jquery
来源: https://codeday.me/bug/20191102/1988262.html