使用this question中的一些代码,我设置了一些代码来检测android设备何时旋转。它适用于华硕平板电脑(4.0.3)和两个模拟器(4.0.3 和 2.1),但对于 kindle fire(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>
华硕平板电脑的输出
把它放在看起来像风景的地方:
旋转为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) 让设备报告其宽度和高度的正确值?