oncanplaythrough 事件
当视频可以正常播放且无需停顿时执行 JavaScript:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>蜜蜂教程(mifengjc.com)</title>
</head>
<body>
<video controls oncanplaythrough="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>
本文底部包含了更多实例。
定义和用法
oncanplaythrough 事件在视频/音频(audio/video)可以正常播放且无需停顿和缓冲时触发。
在视频/音频(audio/video)加载过程中,事件的触发顺序如下:
- onloadstart
- ondurationchange
- onloadedmetadata
- onloadeddata
- onprogress
- oncanplay
- oncanplaythrough
浏览器支持
表格中的数字表示支持该事件的第一个浏览器的版本号。
事件 | |||||
---|---|---|---|---|---|
oncanplaythrough | Yes | 9.0 | Yes | Yes | Yes |
语法
HTML 中:
<element oncanplaythrough="myScript">
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>蜜蜂教程(mifengjc.com)</title>
</head>
<body>
<p>该实例演示了如何向 video 元素添加 "oncanplaythrough" 事件。</p>
<video controls oncanplaythrough="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.oncanplaythrough = function() {
myScript
};
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>蜜蜂教程(mifengjc.com)</title>
</head>
<body>
<p>该实例演示了如何使用 HTML DOM 向 video 元素添加 "oncanplaythrough" 事件。</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").oncanplaythrough = function() {
myFunction()
};
function myFunction() {
alert("无需停顿可直接播放视频");
}
</script>
</body>
</html>
JavaScript 中, 使用 addEventListener() 方法:
object.addEventListener("canplaythrough", myScript);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>蜜蜂教程(mifengjc.com)</title>
</head>
<body>
<p>该实例演示了如何使用 addEventListener() 方法向 video 元素添加 "oncanplaythrough" 事件。</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("canplaythrough", 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 oncanplaythrough="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>
