iOS doens't更新screen.width
&screen.height
向きの変更。Androidは変更しても更新されませんwindow.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
}
}
次のコードを使用すると、AndroidとiOSでこの向きの変化を検出できます。
var supportsOrientationChange = "onorientationchange" in window,
orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
window.addEventListener(orientationEvent, function() {
alert("the orientation has changed");
}, false);
onorientationchange
イベントがサポートされていない場合、イベントバインドはイベントになりますresize
。