Screen.orientation

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

The orientation read-only property of the Screen interface returns the current orientation of the screen.

Syntax

var orientation = window.screen.orientation;

Return value

An instance of ScreenOrientation representing the orientation of the screen.

Note that older, prefixed versions returned a DOMString equivalent to ScreenOrientation.type.

Example

var orientation = (screen.orientation || {}).type || screen.mozOrientation || screen.msOrientation;

if (orientation === "landscape-primary") {
  console.log("That looks good.");
} else if (orientation === "landscape-secondary") {
  console.log("Mmmh... the screen is upside down!");
} else if (orientation === "portrait-secondary" || orientation === "portrait-primary") {
  console.log("Mmmh... you should rotate your device to landscape");
} else if (orientation === undefined) {
  console.log("The orientation API isn't supported in this browser :(");
}

Specifications

Specification Status Comment
Screen Orientation API
The definition of 'orientation' in that specification.
Working Draft Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
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

Legend

Full support
Full support
No support
No support
See implementation notes.
See implementation notes.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also