We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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 current orientation of the 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 events.

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 inherit from EventTarget

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

Additional methods for Mozilla chrome code

Mozilla extensions for use by JS-implemented event targets to implement on* 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  

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) (Yes)[1] (Yes) ? (Yes) (Yes)
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) ? ? ? (Yes) ?

[1] Only height and width reflect the current screen; availHeight and availWidth always reflect the main screen; availLeft and availTop are not implemented.

Document Tags and Contributors

Last updated by: tshinnic,