This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The end() method of the TimeRanges interface returns the time offset (in seconds) at which a specified time range ends.
end(index)
indexThe range number to return the ending time for.
A number.
IndexSizeError DOMException
Thrown if the specified index doesn't correspond to an existing range.
Given a video element with the ID "myVideo":
const v = document.getElementById("myVideo");
const buf = v.buffered;
const numRanges = buf.length;
if (buf.length === 1) {
// only one range
if (buf.start(0) === 0 && buf.end(0) === v.duration) {
// The one range starts at the beginning and ends at
// the end of the video, so the whole thing is loaded
}
}
This example looks at the time ranges and looks to see if the entire video has been loaded.
| Specification |
|---|
| HTML> # dom-timeranges-end-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
end |
6 | 12 | 4 | ≤12.1 | 3.1 | 18 | 4 | ≤12.1 | 2 | 1.0 | 4.4 | 2 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges/end