loadedmetadata在chrome和firefox下不被触发

写播放器时发现loadedmetadata事件在chrome和firefox下不被触发,在IE中正常。简化后的代码如下:

HTML:

<video id="video" controls>
    <source src="video/film.mp4" type="video/mp4">
    <source src="video/film.webm" type="video/webm">
    <source src="video/film.ogv" type="video/ogg">
</video>

JS:

window.onload = function(){
    var video = document.getElementById('video');
    video.onloadedmetadata = function(){
        alert('loaded');
    };
};

求解。

阅读 5.6k
1 个回答

写了个demo,实测没问题啊
https://jsfiddle.net/7u47nrg1/


我知道了,刚看到,你的代码是嵌套在onload里面的,只有页面中的资源都加载完毕才会触发onload,然而这个时候loadedmetadata这个事件已经先触发了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题