exitFullscreen (el) {
    if (this.isRotateFullscreen) {
      this.exitRotateFullscreen()
    }
    if (!this._fullscreenEl && !Util.getFullScreenEl()) {
      return
    }
    const { root, media } = this
    if (!el) {
      el = root
    }
    this._fullActionFrom = 'exit'
    try {
      for (let i = 0; i < EXIT_FULLSCREEN_API.length; i++) {
        const key = EXIT_FULLSCREEN_API[i]
        if (document[key]) {
          const ret = document[key]()
          if (ret && ret.then) {
            return ret
          } else {
            return Promise.resolve()
          }
        }
      }
      if (media && media.webkitSupportsFullscreen) {
        media.webkitExitFullScreen()
        return Promise.resolve()
      }
      return Promise.reject(new Error('call exitFullscreen fail'))
    } catch (err) {
      return Promise.reject(new Error('call exitFullscreen fail'))
    }
  }
@param { HTMLElement } [el]
@returns { Promise<void> }