全屏了却判断为未全屏(已解决)

先来看这种方法
function isFullScreen () {
    var isFull = false;
    if (document.fullscreenEnabled || document.msFullscreenEnabled ) {
        isFull = window.fullScreen || document.webkitIsFullScreen;
        if (isFull === undefined) {
            isFull = false;
        }
    }
    return isFull

或者

function isFullScreen () {
  return 
  document.
  isFullScreen || 
  document.
  mozIsFullScreen || 
  document.
  webkitIsFullScre
}

以上的方法如果没有用(意思是明明全屏了函数却返回false
那么请看以下解决方案

function isFullscreen () {
      const screen = window.screen
      const body = document.body.getBoundingClientRect()
      return screen.height === body.height && screen.width === body.width
}

这种方案并不是去访问检测是否处于全屏模式的API
而是用视口的宽高去与屏幕的宽高做严格对比
|
如果两者的值都相等那么就是处于全屏的
一般只对比视口的高度和屏幕高度即可
(视口会计算控制台占用的部分,如果不对比宽开着控制台也算全屏)