javascript - 如何检测Android平板浏览器?

标签 javascript android ios browser-detection

我使用以下代码来检测手机/平板电脑浏览器。

function isMobile() {
        var index = navigator.appVersion.indexOf("Mobile");
        return (index > -1);
    }

它在桌面浏览器和 iOS 设备(iPhone/iPad)上运行良好,但无法检测到某些 Android 平板电脑或移动设备。

我也使用了以下代码 fragment ,但也没有用。

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());
    }
};

任何人都可以告诉我是否有任何错误或我需要使用任何其他方法。

最佳答案

访问here

function isTouchDevice() {
   var el = document.createElement('div');
   el.setAttribute('ongesturestart', 'return;');
   return typeof el.ongesturestart === "function";
}

关于javascript - 如何检测Android平板浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691822/

相关文章:

ios - 在两个 subview 之间交换,同时保持功能

android - 未找到 Android SSL 连接的信任 anchor

javascript、jQuery、Ajax 自动完成

javascript - 从另一个 GPS 位置 + 距离计算位置

javascript - 是否可以动态构建此功能?

android - Android 中的 GMGridView 等价物

android - 在什么情况下应用程序内结算版本 3 服务器更改可在客户端设备上使用?

ios - 有什么方法可以在 UI 测试中自动化 SFSafariViewController?

ios - 当 scaleKey 大于某个值时,Lanczos 比例不起作用

javascript - 使用 : @react-navigation/bottom-tabs 时如何从底部标签栏隐藏 "SPECIFIC TAB BAR ITEM"