小码哥的IT人生

onloadedmetadata 事件

JavaScript基础 2022-06-08 12:01:03小码哥的IT人生shichen

onloadedmetadata 事件

实例

在加载视频的元数据时执行 JavaScript:

<video onloadedmetadata="myFunction()">

完整实例:

<!DOCTYPE html> 
<html> 
<body> 
<video controls onloadedmetadata="myFunction()">
  <source src="/i/photo/shanghai.mp4" type="video/mp4">
  Your browser does not support HTML5 video.
</video>
<script>
function myFunction() {
  alert("Meta data for video loaded");
}
</script>
</body> 
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

页面下方有更多 TIY 实例。

定义和用法

当指定音频/视频的元数据已加载时,onloadedmetadata 事件发生。

音频/视频的元数据包括:持续时间、维度(仅限视频)和文本轨道。

在音频/视频的加载过程中,会按以下顺序发生如下事件:

  1. onloadstart
  2. ondurationchange
  3. onloadedmetadata
  4. onloadeddata
  5. onprogress
  6. oncanplay
  7. oncanplaythrough

浏览器支持

表中的数字注明了完全支持该事件的首个浏览器版本。

事件 Chrome IE Firefox Safari Opera
onloadedmetadata 支持 9.0 支持 支持 支持

语法

在 HTML 中:

<element onloadedmetadata="myScript">

完整实例:

<!DOCTYPE html> 
<html> 
<body> 
<p>本例演示如何将 "onloadedmetadata" 事件分配给 video 元素。</p>
<video controls onloadedmetadata="myFunction()">
  <source src="/i/photo/shanghai.mp4" type="video/mp4">
  Your browser does not support HTML5 video.
</video>
<script>
function myFunction() {
  alert("Meta data for video loaded");
}
</script>
</body> 
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在 JavaScript 中:

object.onloadedmetadata = function(){myScript};

完整实例:

<!DOCTYPE html> 
<html> 
<body> 
<p>本例使用 HTML DOM 将 "onloadedmetadata" 事件分配给 video 元素。</p>
<video controls id="myVideo">
  <source src="/i/photo/shanghai.mp4" type="video/mp4">
  Your browser does not support HTML5 video.
</video>
<script>
document.getElementById("myVideo").onloadedmetadata = function() {myFunction()};
function myFunction() {
  alert("Meta data for video loaded");
}
</script>
</body> 
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在 JavaScript 中,使用 addEventListener() 方法:

object.addEventListener("loadedmetadata", myScript);

完整实例:

<!DOCTYPE html> 
<html> 
<body> 
<p>本例使用 addEventListener() 方法将 "loadedmetadata" 事件附加到 video 元素。</p>
<video controls id="myVideo">
  <source src="/i/photo/shanghai.mp4" type="video/mp4">
  Your browser does not support HTML5 video.
</video>
<script>
document.getElementById("myVideo").addEventListener("loadedmetadata", myFunction);
function myFunction() {
  alert("Meta data for video loaded");
}
</script>
</body> 
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法

技术细节

冒泡: 不支持
可取消: 不支持
事件类型: Event
支持的 HTML 标签: <audio> 和 <video>
DOM 版本: Level 3 Events

更多实例

加载音频的元数据后执行 JavaScript:

<audio onloadedmetadata="myFunction()">

完整实例:

<!DOCTYPE html> 
<html> 
<body> 
<audio controls onloadedmetadata="myFunction()">
  <source src="/i/horse.ogg" type="audio/ogg">
  <source src="/i/horse.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>
<script>
function myFunction() {
  alert("Meta data for audio loaded");
}
</script>
</body> 
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024