Screen

The Screen interface represents a screen, usually the one on which the current window is being rendered, and is obtained using window.screen.

Note that browsers determine which screen to report as current by detecting which screen has the center of the browser window.

Properties

Screen.availTop
Specifies the y-coordinate of the first pixel that is not allocated to permanent or semipermanent user interface features.
Screen.availLeft
Returns the first available pixel available from the left side of the screen.
Screen.availHeight
Specifies the height of the screen, in pixels, minus permanent or semipermanent user interface features displayed by the operating system, such as the Taskbar on Windows.
Screen.availWidth
Returns the amount of horizontal space in pixels available to the window.
Screen.colorDepth
Returns the color depth of the screen.
Screen.height
Returns the height of the screen in pixels.
Screen.left
Returns the distance in pixels from the left side of the main screen to the left side of the current screen.
Screen.orientation
Returns the ScreenOrientation instance associated with this screen.
Screen.pixelDepth
Gets the bit depth of the screen.
Screen.top
Returns the distance in pixels from the top side of the current screen.
Screen.width
Returns the width of the screen.
Screen.mozEnabled
Boolean. Setting to false will turn off the device's screen.
Screen.mozBrightness
Controls the brightness of a device's screen. A double between 0 and 1.0 is expected.

Events handler

Screen.onorientationchange
A handler for the orientationchange event.

Methods

Screen.lockOrientation
Lock the screen orientation (only works in fullscreen or for installed apps)
Screen.unlockOrientation
Unlock the screen orientation (only works in fullscreen or for installed apps)

Methods inherited from EventTarget:

EventTarget.addEventListener()
Registers an event handler of a specific event type on the EventTarget.
EventTarget.removeEventListener()
Removes an event listener from the EventTarget.
EventTarget.dispatchEvent()
Dispatches an event to this EventTarget.

Additional methods in Mozilla chrome codebase

Mozilla includes a couple of extensions for use by JS-implemented event targets to implement onevent properties.

See also WebIDL bindings.

  • void setEventHandler(DOMString type, EventHandler handler)
  • EventHandler getEventHandler(DOMString type)

Example

if (screen.pixelDepth < 8) {
  // use low-color version of page
} else {
  // use regular, colorful page
}

Specification

Specification Status Comment
CSS Object Model (CSSOM) View Module
The definition of 'Screen' in that specification.
Working Draft Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
ScreenChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView 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
availHeightChrome Full support 40Edge Full support 12
Notes
Full support 12
Notes
Notes Always reflects the main screen.
Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support 40Chrome Android Full support 40Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
availLeft
Non-standard
Chrome Full support YesEdge Full support 79Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
availTop
Non-standard
Chrome Full support 40Edge Full support 79Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support 40Chrome Android Full support 40Firefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support 4.0
availWidthChrome Full support YesEdge Full support 12
Notes
Full support 12
Notes
Notes Always reflects the main screen.
Firefox Full support YesIE ? Opera 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
colorDepthChrome Full support 40
Notes
Full support 40
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Edge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support 40
Notes
Full support 40
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Chrome Android Full support 40
Notes
Full support 40
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
Notes
Full support 4.0
Notes
Notes Starting with Samsung Internet 7.0 this property is no longer required to always return 24.
heightChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
left
Non-standard
Chrome No support NoEdge No support ≤18 — 79Firefox Full support YesIE ? Opera No support NoSafari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
lockOrientationChrome Full support 38Edge Full support 12
Prefixed
Full support 12
Prefixed
Prefixed Implemented with the vendor prefix: ms
Firefox Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE Full support 11
Prefixed
Full support 11
Prefixed
Prefixed Implemented with the vendor prefix: ms
Opera Full support YesSafari No support NoWebView Android Full support 38Chrome Android Full support 38Firefox Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support 3.0
mozBrightness
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 12
Disabled
Full support 12
Disabled
Disabled From version 12: this feature is behind the dom.screenBrightnessProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 14
Disabled
Full support 14
Disabled
Disabled From version 14: this feature is behind the dom.screenBrightnessProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mozEnabled
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 12
Disabled
Full support 12
Disabled
Disabled From version 12: this feature is behind the dom.screenEnabledProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 14
Disabled
Full support 14
Disabled
Disabled From version 14: this feature is behind the dom.screenEnabledProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
onorientationchangeChrome No support NoEdge No support ≤18 — 79
Alternate Name
No support ≤18 — 79
Alternate Name
Alternate Name Uses the non-standard name: onmsorientationchange
Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support Yes
Alternate Name
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: onmozorientationchange
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
orientationChrome Full support 38Edge Full support 12
Prefixed Notes
Full support 12
Prefixed Notes
Prefixed Implemented with the vendor prefix: ms
Notes Edge does not return an Orientation object; instead, it returns the orientation type as a string.
Firefox Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE Full support 11
Prefixed Notes
Full support 11
Prefixed Notes
Prefixed Implemented with the vendor prefix: ms
Notes Not supported on Windows 7.
Opera Full support 25Safari No support NoWebView Android No support NoChrome Android Full support 39Firefox Android Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 4.0
pixelDepthChrome Full support 40
Notes
Full support 40
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Edge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Samsung Internet 7.0 this property is no longer required to always return 24.
top
DeprecatedNon-standard
Chrome No support NoEdge No support ≤18 — 79Firefox Full support YesIE ? Opera No support NoSafari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
unlockOrientationChrome Full support 38Edge Full support 12
Prefixed
Full support 12
Prefixed
Prefixed Implemented with the vendor prefix: ms
Firefox Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE Full support 11
Prefixed
Full support 11
Prefixed
Prefixed Implemented with the vendor prefix: ms
Opera Full support YesSafari No support NoWebView Android Full support 38Chrome Android Full support 38Firefox Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support 3.0
widthChrome Full support 40Edge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support 40Chrome Android Full support 40Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.
Uses a non-standard name.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.