Javascript / jQuery从平板电脑检测手机

时间:2016-07-13 14:49:41

标签: javascript mobile tablet tablet-pc

所以我试图弄清楚,如果这是可能的,或者如果不可能,那么其​​他人可以做些什么来尝试识别是否有。

所以我需要一个Javascript中的方法来允许平板电脑而不是手机,这就是问题,大多数移动或平板电脑检测的问题都是使用UserAgent将它们组合在一起然而对于Android平板电脑和手机都会匹配手机或平板电脑检测如何区分它们。

所以我需要一些我可以做的事情,比如

if(!isMobile() || isMobile() && isTablet()){
   // allow the system to load and work
}else{
   // Display notice system does not support mobiles currently.
}

不同设备上的界面图片 On my 1080p Laptop 这是在我的笔记本电脑上很好(1080p) This is on surface 这是我的表面(3000x2000)

请注意: 我甚至没有使用屏幕尺寸,直到它作为答案提供,并进一步认为不可能使用屏幕尺寸,因为无法正确检测屏幕尺寸。

我的主要问题是可以获得平板电脑和手机之间的区别。

2 个答案:

答案 0 :(得分:0)

移动电话在很多方面只是小型平板电脑;或平板电脑只是大型手机。因此,而不是专注于任意的类别,而不是专注于阻止您支持手机的事物。

如果是屏幕尺寸问题,请检测屏幕尺寸。

如果这是连接速度的问题,请检测连接速度 - 或者让用户判断什么是足够快。

答案 1 :(得分:0)

我建议将isTablet更改为isTouch并使用类似这两个功能的内容:

function isTouch() {
  return ('ontouchend' in window)? 'true' : 'false';
}
function isMobile() {
  if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)) {
    return true;
  }
  return false;
}
function hasRequiredResolution(required_res) {
    return (window.screen.height * window.screen.width) >= required_res;
}

更新:我添加了一个返回true或false的方法,具体取决于连接客户端是否具有所需的分辨率。这可以使您识别要定位的客户端。