HTML oncanplaythrough Event Attribute

Description

The oncanplaythrough HTML event attribute specifies a function to be executed when the browser estimates it can play through the specified audio/video without having to stop for buffering.

This event is typically used to start playing the media when it is ready, or to enable features such as fast-forwarding and rewinding. It is important to note that the oncanplaythrough event is not fired when the media has finished loading, but rather when the browser estimates that it has enough data to play through the entire media file without having to stop for buffering.

The oncanplaythrough event can be specified using the following syntax:

<audio|video oncanplaythrough="functionName()">

Where functionName() is the name of the function to be executed when the event is fired.

The following is an example of how to use the oncanplaythrough event attribute:

<video oncanplaythrough="playVideo()">
  <source src="video.mp4" type="video/mp4">
</video>

<script>
function playVideo() {
  var video = document.querySelector('video');
  video.play();
}
</script>

In this example, the playVideo() function will be executed when the browser estimates it can play through the video.mp4 file without having to stop for buffering.

The oncanplaythrough event is a useful way to ensure that your media content is played smoothly and without interruption.

Syntax

<element oncanplaythrough="script">

Values

  • scriptThe name of the script to use when the event has been triggered.

Example

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

<audio id="myAudio" controls oncanplaythrough="myFunction()">
<source src="audio.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>

<script>
function myFunction() {
alert("EXAMPLE: Audio file ready to play without buffering");
}
</script>

<p>Demonstration of the "oncanplaythrough" attribute in the AUDIO element.</p>

</body>
</html>

Browser Support

The following table will show you the current browser support for the HTML oncanplaythrough Event Attribute.

Desktop
Edge Chrome Firefox Opera Safari
YesYesYesYesYes
Tablets / Mobile
Chrome Firefox Opera Safari Samsung Webview
YesYesYesYesYesYes

Last updated by CSSPortal on: 14th October 2023