这是检测移动设备跨平台方向的最佳方法吗?

时间:2018-08-20 01:24:33

标签: android ios ecmascript-6 mobile-safari

我想在Android和iOS设备上正确确定设备的方向。

经过调查,我意识到在iOS设备上,无论用户如何旋转设备,其宽度和高度都保持不变。

function orientation () {

    const { width, height, orientation } = window.screen;
    let angle = 0;
    let rotated = false;
    if (orientation != null) { // Android
      angle = orientation.angle;
    } else if (window.orientation != null) { // iOS
      // in iOS, w and h always stay the same regardless orientation
      angle = parseInt('' + window.orientation, 10);
      rotated = angle % 180 !== 0;
    }
    const layout = (width < height)
      ? (rotated ? 'LANDSCAPE' : 'PORTRAIT')
      : (rotated ? 'PORTRAIT' : 'LANDSCAPE');
    return layout;
}

到目前为止,我已经在桌面浏览器,ios模拟器,实际的iphone和Andriod模拟器上进行了测试,它们似乎可以正常工作。

我想知道的是,上面的代码是否可以用于大多数常见的硬件。上面的代码中是否存在疏忽?

0 个答案:

没有答案