用javascript检测移动设备的最简单方法

Irf*_*Mir 6 javascript

检测设备是否是带有javascript的移动设备的最简单方法是什么?

我在考虑检查高度是否小于或等于iPhone的浏览器视口高度.说到iPhone,移动设备的常见视口高度是什么?

window.height;在javascript 中遇到了一些麻烦,因为它回来了未定义,但是?

任何人都知道如何做到最好,只是检测浏览器是否是一个带有JavaScript的移动设备?

dch*_*tri 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());
    }
};
Run Code Online (Sandbox Code Playgroud)

关于使用维度的解决方案不是一个好的解决方案.它依赖于实际的设备尺寸和许多其他变量.

  • 不同之处在于我的代码更易于使用且更具可读性.无论何时你想要检测移动环境,你都必须编写那个long if语句并且可能容易出错,使用mines,它只是`Environment.isMobile()`函数调用.要使用它,您可以将该代码包含在您的一个javascript文件中.然后简单地做`if(Environment.isMobile()){...}` (3认同)