我希望通过jQuery或Javascript检测html5标签内的特定视频是否已完全加载(我的意思是,下载到浏览器的缓存中)。该视频具有preload =" auto"属性。
我尽我所能努力做到这一点(我是初学者)没有运气。似乎无法找到我能听到的任何事件,有没有办法做到这一点?
PS:我遇到的唯一一件事是视频对象的network_state属性,但网络上的引用似乎并不同意它返回的状态,当我尝试它时,我没有'找到" LOADED"。
的状态 编辑:我发现了一个我认为可以使用的事件,即canPlayThrough。我测试了它似乎工作,但我不确定它是否真的告诉我视频已经完全加载,或者只是它加载了足够的数据来开始播放(这是不好的)。答案 0 :(得分:4)
您可以绑定到已结束的事件:
$("video").bind(eventname, function() {
alert("I'm done!");
});
其中eventname是您要列出的事件
完整的活动清单在这里 - > http://dev.w3.org/html5/spec/Overview.html#mediaevents
更新:
要获得加载百分比,您可以使用2个事件的组合:
$("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)) + '%';
}