この質問のいくつかのコードを使用して、Androidデバイスがいつ回転したかを検出するコードを設定しました。asus タブレット (4.0.3) と 2 つのシミュレーター (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>
asusタブレットからの出力
風景のように見えるものでそれを保持します:
回転は0、解像度は1280×800
肖像画
回転は -90 で、解像度は 800 x 1280 です。
Kindle Fire からの出力
風景
回転は 90 度、解像度は 600 x 819 です。
ポートレート:
回転は 0 で、解像度は 1024 x 395 です。
droidx からの出力
風景:
回転は 90 度、解像度は 320x488 です。
ポートレート:
回転は 0、解像度は 569x239
できる方法はありますか
a)幅の代わりに高さを使用するか、高さの代わりに幅を使用する必要があるかをjavascriptに検出させます
また
b) デバイスが幅と高さの正しい値を報告するようにしますか?