检测设备是否是带有javascript的移动设备的最简单方法是什么?
我在考虑检查高度是否小于或等于iPhone的浏览器视口高度。说到iPhone,移动设备的常见视口高度是什么?
我在javascript中遇到了window.height;
的麻烦,因为它回来了未定义但是?
任何人都知道如何最好地检测浏览器是否是带有javascript的移动设备?
答案 0 :(得分:20)
这就是我的爱好项目:
var Environment = {
//mobile or desktop compatible event name, to be used with '.on' function
TOUCH_DOWN_EVENT_NAME: 'mousedown touchstart',
TOUCH_UP_EVENT_NAME: 'mouseup touchend',
TOUCH_MOVE_EVENT_NAME: 'mousemove touchmove',
TOUCH_DOUBLE_TAB_EVENT_NAME: 'dblclick dbltap',
isAndroid: function() {
return navigator.userAgent.match(/Android/i);
},
isBlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
isIOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
isOpera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
isWindows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
isMobile: function() {
return (Environment.isAndroid() || Environment.isBlackBerry() || Environment.isIOS() || Environment.isOpera() || Environment.isWindows());
}
};
关于使用维度的解决方案不是一个好的解决方案。它依赖于实际的设备维度和许多其他变量。