Windows Phone上的初始window.orientation始终为0

el *_*vis 13 html javascript mobile jquery windows-phone-8

我正试图在我的网站上检测设备方向.

orientationchange事件发生后,方向值似乎没问题.

$(window).on("orientationchange",function(event){alert(window.orientation);}) 
Run Code Online (Sandbox Code Playgroud)

然而问题是页面启动时的初始window.orientation值,即使设备处于横向位置也始终为0.

$(document).ready(function(){alert(window.orientation);});
Run Code Online (Sandbox Code Playgroud)

经过一段时间的延迟后我没有改变(我已经检查过)它只在orientationchange事件发生后才变为正确值.

有没有办法在页面启动时获得正确的方向?

小智 1

看起来除了 Android 版 chrome 之外,该属性实际上并不支持: https: //developer.mozilla.org/en-US/docs/Web/API/Screen/orientation

根据你想要做什么,你可以使用 CSS 规则吗?

@media only screen and (max-width: 999px) {
  /* rules that only apply for canvases narrower than 1000px */
}

@media only screen and (device-width: 768px) and (orientation: landscape) {
  /* rules for iPad in landscape orientation */
}

@media only screen and (min-device-width: 320px) and (max-device-width:    480px) {
  /* iPhone, Android rules here */
}
Run Code Online (Sandbox Code Playgroud)