JSFiddle - React, Tailwind, and code Playground

by lmk123

JavaScript

function landspaceFunc () {
  // https://developer.mozilla.org/en-US/docs/Web/API/Window/orientation
  if ('orientation' in window) {
    return function () {
      alert('window.orientation:' + (typeof window.orientation) + '&' + window.orientation)
      return window.orientation === 90 || window.orientation === -90
    }
  }

  // 在 PC 端开发时用 outer 会导致应用总是横屏状态,所以加个判断
  // Android 端支持 outer,但在 iOS 下 outer 的值总是 0
  if ('ontouchstart' in window && window.outerHeight && window.outerWidth) {
    return function () {
      alert('outer:' + window.outerWidth + '&' + window.outerHeight)
      return window.outerWidth > window.outerHeight
    }
  }

  return function () {
    alert('inner:' + window.innerWidth + '&' + window.innerHeight)
    return window.innerWidth > window.innerHeight
  }
}

var isLandspace = landspaceFunc()

setTimeout(function () {
  isLandspace()
}, 2000)