The HTMLMediaElement.networkState property indicates the current state of the fetching of media over the network.


var networkState = audioOrVideo.networkState;


An unsigned short. Possible values are:

Constant Value Description
NETWORK_EMPTY 0 There is no data yet. Also, readyState is HAVE_NOTHING.
NETWORK_IDLE 1 HTMLMediaElement is active and has selected a resource, but is not using the network.
NETWORK_LOADING 2 The browser is downloading HTMLMediaElement data.
NETWORK_NO_SOURCE 3 No HTMLMediaElement src found.


This example will listen for the audio element to begin playing and then check if it is still loading data.

<audio id="example" preload="auto">
 <source src="sound.ogg" type="audio/ogg" />

var obj = document.getElementById('example');

obj.addEventListener('playing', function() {

  if (obj.networkState === 2) {
    // Still loading...



Specification Status Comment
HTML Living Standard
The definition of 'HTMLMediaElement.networkState' in that specification.
Living Standard  
The definition of 'HTMLMediaElement.networkState' in that specification.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
networkStateChrome Full support 43Edge Full support 12Firefox Full support 3.5
Full support 3.5
Notes The NETWORK_LOADED state was removed to align with the HTML spec in Firefox 4.
IE Full support 9Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes


Full support  
Full support
See implementation notes.
See implementation notes.

See also