HTML Audio/Video DOM durationchange 事件 详解
HTML基础 2022-06-02 15:34:26小码哥的IT人生shichen
HTML Audio/Video DOM durationchange 事件
实例
提示视频的时长已改变:
myVid=document.getElementById("video1");
myVid.ondurationchange=alert("The video duration has changed");
完整实例【亲自试一试】:
<!DOCTYPE html>
<html>
<body>
<video id="video1" controls="controls">
<source src="/demo/example/html5/mov_bbb.mp4" type="video/mp4">
<source src="/demo/example/html5/mov_bbb.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
<script>
myVid=document.getElementById("video1");
myVid.ondurationchange=alert("The video duration has changed");
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
定义和用法
当指定音频/视频的时长数据发生变化时,发生 durationchange 事件。
当音频/视频加载后,时长将由 "NaN" 变为音频/视频的实际时长。
当音频/视频处于加载过程中时,会依次发生以下事件:
- loadstart
- durationchange
- loadedmetadata
- loadeddata
- progress
- canplay
- canplaythrough
浏览器支持
所有主流浏览器都支持 durationchange 事件。
注释:Internet Explorer 8 或更早的浏览器不支持该事件。
语法
在 HTML 中:
<audio|video ondurationchange="SomeJavaScriptCode">
在 JavaScript 中:
audio|video.ondurationchange=SomeJavaScriptCode;
使用 addEventListener():
audio|video.addEventListener("durationchange", function()
{
//SomeJavaScriptCode
}
);
技术细节
以下 HTML 标签支持: | <audio>, <video> |
---|---|
以下 JavaScript 对象支持: | Audio, Video |
更多实例
完整实例【在 HTML 元素上使用 durationchange 属性】:
<!DOCTYPE html>
<html>
<body>
<video id="video1" controls="controls" ondurationchange="alert('The video duration has changed')">
<source src="/demo/example/html5/mov_bbb.mp4" type="video/mp4">
<source src="/demo/example/html5/mov_bbb.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
完整实例【使用 addEventListener() 来监听 durationchange 事件】:
<!DOCTYPE html>
<html>
<body>
<video id="video1" controls="controls">
<source src="/demo/example/html5/mov_bbb.mp4" type="video/mp4">
<source src="/demo/example/html5/mov_bbb.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
<script>
myVid=document.getElementById("video1");
myVid.addEventListener("durationchange", function()
{
alert("The video duration has changed");
}
);
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html