我知道在iPhone上的Safari中,你可以通过听取onorientationchange事件和查询window.orientation角度来检测屏幕的方向和方向的变化.
这可能在Android手机上的浏览器中出现吗?
为了清楚起见,我问的是,在标准网页上运行的JavaScript是否可以检测到Android设备的旋转.这可能在iPhone上,我想知道是否可以为Android手机完成.
使用这个问题的一些代码,我已经设置了一些代码来检测Android设备何时被旋转.它适用于华硕平板电脑(4.0.3)和两个模拟器(4.0.3和2.1),但对于点火(2.3.4)和droidx(2.3.4),它可以切换宽度和高度.
码:
<script type="text/javascript">
var supportsOrientationChange = "onorientationchange" in window,orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
window.addEventListener(orientationEvent, function() {
alert("The rotation is " + window.orientation + " and the resolution is " + screen.width + " x " + screen.height);
modRule();
}, false);
</script>
Run Code Online (Sandbox Code Playgroud)
华硕平板电脑输出
把它拿在看起来像风景的地方:
旋转为0,分辨率为1280 x 800
肖像
旋转为-90,分辨率为800 x 1280
从Kindle Fire输出
景观
旋转为90,分辨率为600 x 819
肖像:
旋转为0,分辨率为1024 x 395
droidx的输出
景观:
旋转为90,分辨率为320x488
肖像:
旋转为0,分辨率为569x239
我有办法吗?
a)使javascript检测它是否应使用高度而不是宽度或宽度而不是高度
要么
b)让设备报告宽度和高度的正确值?