当我使用肖像模式时它正在工作,但是在风景中它不起作用。它返回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);
}
答案 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);
})();