onloadedmetadata 事件
在视频的元数据加载后执行 JavaScript :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>蜜蜂教程(mifengjc.com)</title> </head> <body> <video controls onloadedmetadata="myFunction()"> <source src="/examples/mov_bbb.mp4" type="video/mp4"> <source src="/examples/mov_bbb.ogg" type="video/ogg"> 您的浏览器不支持 HTML5 video。 </video> <script> function myFunction() { alert("视频元数据已加载"); } </script> </body> </html>
本文底部包含了更多实例。
定义和用法
onloadedmetadata 事件在指定视频/音频(audio/video)的元数据加载后触发。
视频/音频(audio/video)的元数据包含: 时长,尺寸大小(视频),文本轨道。
视频/音频(audio/video)在加载过程中,触发的顺序如下:
- onloadstart
- ondurationchange
- onloadedmetadata
- onloadeddata
- onprogress
- oncanplay
-
oncanplaythrough
浏览器支持
表格中的数字表示支持该事件的第一个浏览器的版本号。
事件 | |||||
---|---|---|---|---|---|
onloadedmetadata | Yes | 9.0 | Yes | Yes | Yes |
语法
HTML 中:
<element onloadedmetadata="myScript">
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>蜜蜂教程(mifengjc.com)</title> </head> <body> <p>该实例演示了如何向 video 元素添加 "onloadedmetadata" 事件。</p> <video controls onloadedmetadata="myFunction()"> <source src="/examples/mov_bbb.mp4" type="video/mp4"> <source src="/examples/mov_bbb.ogg" type="video/ogg"> 您的浏览器不支持 HTML5 video。 </video> <script> function myFunction() { alert("视频元数据已加载"); } </script> </body> </html>
JavaScript 中:
object.onloadedmetadata = function() { myScript };
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>蜜蜂教程(mifengjc.com)</title> </head> <body> <p>该实例演示了如何使用 HTML DOM 向 video 元素添加 "onloadedmetadata" 事件。</p> <video controls id="myVideo"> <source src="/examples/mov_bbb.mp4" type="video/mp4"> <source src="/examples/mov_bbb.ogg" type="video/ogg"> 您的浏览器不支持 HTML5 video。 </video> <script> document.getElementById("myVideo").onloadedmetadata = function() { myFunction() }; function myFunction() { alert("视频元数据已加载"); } </script> </body> </html>
JavaScript 中, 使用 addEventListener() 方法:
object.addEventListener("loadedmetadata", myScript);
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>蜜蜂教程(mifengjc.com)</title> </head> <body> <p>该实例演示了如何使用 addEventListener() 方法向 video 元素添加 "onloadedmetadata" 事件。</p> <video controls id="myVideo"> <source src="/examples/mov_bbb.mp4" type="video/mp4"> <source src="/examples/mov_bbb.ogg" type="video/ogg"> 您的浏览器不支持 HTML5 video。 </video> <script> document.getElementById("myVideo").addEventListener("loadedmetadata", myFunction); function myFunction() { alert("视频元数据已加载"); } </script> </body> </html>
注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。
技术细节
是否支持冒泡: | No |
---|---|
是否可以取消: | No |
事件类型: | Event |
支持的 HTML 标签: | <audio>, <video> |
更多实例
在音频的元数据加载后执行 JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>蜜蜂教程(mifengjc.com)</title> </head> <body> <audio controls onloadedmetadata="myFunction()"> <source src="/examples/horse.ogg" type="audio/ogg"> <source src="/examples/horse.mp3" type="audio/mpeg"> 您的浏览器不支持 audio 元素。 </audio> <script> function myFunction() { alert("音频元数据已加载"); } </script> </body> </html>
事件对象