Screen.orientation

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

orientation 是 Screen 接口的一个只读属性,返回屏幕当前的方向。

语法

var orientation = window.screen.orientation;

返回值

一个 ScreenOrientation 的实例,表示屏幕的方向。

注意在更早的、有前缀的版本中会返回一个 DOMString 值,相当于 ScreenOrientation.type 的值。

示例

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 :("); 
}

规范

规范 状态 备注
Screen Orientation API
orientation
Working Draft Initial definition

浏览器兼容性

Update compatibility data on GitHub
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.

参见