Javascript - 条件不返回True

时间:2017-09-21 16:47:17

标签: javascript html5

当我使用肖像模式时它正在工作,但是在风景中它不起作用。它返回false。它必须回归真实,有人可以帮助我吗?感谢。

    function ismobile(){

    let mobileMode;
    let windowWidth = window.innerWidth;
    let windowHeight = window.innerHeight;

    if (windowWidth <= 375 && windowHeight <= 667 || windowWidth <= 675 && windowHeight <= 375 ) {

        mobileMode = true;

    }else{

        mobileMode = false;

    }   

    console.log("mobileMode " + mobileMode);

}

3 个答案:

答案 0 :(得分:1)

我想你想把这些和语句分组在一起:

if ((windowWidth <= 375 && windowHeight <= 667) || (windowWidth <= 675 && windowHeight <= 375) ) {

        mobileMode = true;

    }else{

        mobileMode = false;

    }   

答案 1 :(得分:1)

尝试使用

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera 
Mini/i.test(navigator.userAgent) ) {
     return true;
}
return false;

如果您正在尝试检查移动设备,如果您只是想检查大小,那么只需返回mobileMode,并将这些语句分组,如@Patrick Cool的答案。

答案 2 :(得分:1)

如果您想检测网站是否在移动浏览器中,请不要检查窗口宽度和高度,因为最新的手机具有高分辨率。 您可以使用触摸事件执行下面的简单操作。此方法不依赖于屏幕方向。

这是最好的方法,因为它不依赖于浏览器类型。

(function ismobile() {

  let mobileMode;

  if (typeof window.ontouchstart !== 'undefined') {
    //Mobile, portrait or landscape
    mobileMode = true;
  } else {
    //Desktop
    mobileMode = false;
  }

  console.log("Mobile mode: " + mobileMode);

})();