This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The seekable read-only property of HTMLMediaElement objects returns a new static normalized TimeRanges object that represents the ranges of the media resource, if any, that the user agent is able to seek to at the time seekable property is accessed.
A new static normalized TimeRanges object that represents the ranges of the media resource, if any, that the user agent is able to seek to at the time seekable property is accessed.
const video = document.querySelector("video");
const timeRangesObject = video.seekable;
const timeRanges = [];
// Go through the object and output an array
for (let count = 0; count < timeRangesObject.length; count++) {
timeRanges.push([timeRangesObject.start(count), timeRangesObject.end(count)]);
}
| Specification |
|---|
| HTML> # dom-media-seekable-dev> |
| Media Source Extensions™> # htmlmediaelement-extensions-seekable> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
seekable |
3 | 12 | 8 | ≤12.1 | 3.1 | 18 | 8 | ≤12.1 | 3 | 1.0 | 4.4 | 3 |
HTMLMediaElement: Interface used to define the HTMLMediaElement.seekable property
© 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/HTMLMediaElement/seekable