Web/API/AmbientLightSensor

From Get docs

This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.


The AmbientLightSensor interface of the the Sensor APIs returns the current light level or illuminance of the ambient light around the hosting device.

To use this sensor, the user must grant permission to the 'ambient-light-sensor' device sensor through the Permissions API.

If a feature policy blocks use of a feature it is because your code is inconsistent with the policies set on your server. This is not something that would ever be shown to a user. See Feature-Policy for implementation instructions.

Constructor

AmbientLightSensor.AmbientLightSensor()
Creates a new AmbientLightSensor object.

Properties

AmbientLightSensor.illuminance
Returns the current light level in lux of the ambient light level around the hosting device.

Example

if ( 'AmbientLightSensor' in window ) {
  const sensor = new AmbientLightSensor();
  sensor.onreading = () => {
    console.log('Current light level:', sensor.illuminance);
  };
  sensor.onerror = (event) => {
    console.log(event.error.name, event.error.message);
  };
  sensor.start();
}

Specifications

Specification Status Comment
Generic Sensor API Candidate Recommendation Defines sensors in general.
Ambient Light SensorThe definition of 'AmbientLightSensor' in that specification. Candidate Recommendation

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
AmbientLightSensor

Chrome Full support 56

Disabled'

Full support 56

Disabled'

Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

Edge Full support 79

Disabled'

Full support 79

Disabled'

Disabled' From version 79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled).

Firefox

No support No

IE

No support No

Opera Full support 43

Disabled'

Full support 43

Disabled'

Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled).

Safari

No support No

WebView Android

No support No

Chrome Android Full support 56

Disabled'

Full support 56

Disabled'

Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

Firefox Android

No support No

Opera Android Full support 43

Disabled'

Full support 43

Disabled'

Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled).

Safari iOS

No support No

Samsung Internet Android

No support No

AmbientLightSensor() constructor Chrome

Full support 56

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 43

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

No support No

illuminance

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' In Chrome 79, this method stopped returning floats and returned integers to avoid fingerprinting.

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' In Opera 66, this method stopped returning floats and returned integers to avoid fingerprinting.

Safari

No support No

WebView Android

No support No

Chrome Android Full support 56

Notes'

Full support 56

Notes'

Notes' In Chrome for Android 79, this method stopped returning floats and returned integers to avoid fingerprinting.

Firefox Android

No support No

Opera Android Full support 43

Notes'

Full support 43

Notes'

Notes' In Opera for Android 57, this method stopped returning floats and returned integers to avoid fingerprinting.

Safari iOS

No support No

Samsung Internet Android

No support No

Legend

Full support  
Full support
No support  
No support
See implementation notes.'
See implementation notes.
User must explicitly enable this feature.'
User must explicitly enable this feature.