HTML 音频/视频 DOM durationchange 事件
提示视频的时长已改变:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<video id="video1" controls="controls">
<source src="/examples/mov_bbb.mp4" type="video/mp4">
<source src="/examples/mov_bbb.ogg" type="video/ogg">
您的浏览器不支持 HTML5 video 标签。
</video>
<script>
myVid = document.getElementById("video1");
myVid.ondurationchange = alert("The video duration has changed");
</script>
<p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>
</body>
</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 元素上使用 ondurationchange 属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<video id="video1" controls="controls" ondurationchange="alert('The video duration has changed')">
<source src="/examples/mov_bbb.mp4" type="video/mp4">
<source src="/examples/mov_bbb.ogg" type="video/ogg">
您的浏览器不支持 HTML5 video 标签。
</video>
<p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>
</body>
</html>
使用 addEventListener() 来监听 durationchange 事件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<video id="video1" controls="controls">
<source src="/examples/mov_bbb.mp4" type="video/mp4">
<source src="/examples/mov_bbb.ogg" type="video/ogg">
您的浏览器不支持 HTML5 video 标签。
</video>
<script>
myVid = document.getElementById("video1");
myVid.addEventListener("durationchange", function() {
alert("The video duration has changed");
});
</script>
<p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>
</body>
</html>
