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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes3.519 Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes Yes Yes Yes ?

1. The NETWORK_LOADED state was removed to align with the HTML spec in Firefox 4.

See also

Document Tags and Contributors

Last updated by: sideshowbarker,