HTML 音频/视频 DOM canplaythrough 事件

HTML audio/video 标签参考手册 HTML 音频/视频 DOM 参考手册

提示视频能够不停顿地一直播放:

<!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.oncanplaythrough = alert("Can play through video without stopping");
  </script>

  <p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>

</body>
</html>

尝试一下 »


定义和用法

当浏览器预计能够在不停下来进行缓冲的情况下持续播放指定的音频/视频时,会发生 canplaythrough 事件。

当音频/视频处于加载过程中时,会依次发生以下事件:

  1. loadstart
  2. durationchange
  3. loadedmetadata
  4. loadeddata
  5. progress
  6. canplay
  7. canplaythrough

浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

所有主流浏览器都支持 canplaythrough 事件。

注意:Internet Explorer 8 及之前的版本不支持该事件。


语法

在 HTML 中:

<audio|video oncanplaythrough="SomeJavaScriptCode">

在 JavaScript 中:

audio|video.oncanplaythrough=SomeJavaScriptCode;

使用 addEventListener():

audio | video.addEventListener("canplaythrough", function() {
  //SomeJavaScriptCode
});

技术细节

以下 HTML 标签支持: <audio>, <video>
以下 JavaScript 对象支持: Audio, Video

更多实例

在 HTML 元素上使用 oncanplaythrough 属性

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
</head>
<body>

  <video id="video1" controls="controls" oncanplaythrough="alert('Can play through video without stopping')">
  <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() 来监听 canplaythrough 事件

<!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("canplaythrough", function() {
      alert("Can play through video without stopping");
    });
  </script>

  <p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>

</body>
</html>

尝试一下 »


HTML audio/video 标签参考手册 HTML 音频/视频 DOM 参考手册