向きが変わるscreen.width
とiOS が更新されない。screen.height
Androidwindow.orientation
は変更されても更新されません。
この問題に対する私の解決策:
var isAndroid = /(android)/i.test(navigator.userAgent);
if(isAndroid)
{
if(screen.width < screen.height){
//portrait mode on Android
}
} else {
if(window.orientation == 0){
//portrait mode iOS and other devices
}
}
次のコードを使用して、iOS だけでなく Android でもこの向きの変化を検出できます。
var supportsOrientationChange = "onorientationchange" in window,
orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
window.addEventListener(orientationEvent, function() {
alert("the orientation has changed");
}, false);
onorientationchange
イベントがサポートされていない場合、バインドされたイベントはイベントになりresize
ます。