一尘不染

检测iOS / Android操作系统

javascript

我已经做了一些研究,但这个问题已经提出,但不是我打算的那样。我正在为QR登陆的客户端构建页面,这是一个下载应用程序的地方。因此,他不必在页面上打印2个QR码,我想检测当前的操作系统(Apple
/ Android / Other [不支持])并根据该值修改我的元素。

我已经看过脚本“
detectmobilebrowsers”,它的目的只是告诉用户是否完全可以移动,而我想弄清楚用户正在运行哪种操作系统,并建议最佳的应用程序版本。

我发现与此问题类似的其他答案似乎已经过时或不可靠(无法检测到Android平板电脑浏览器),因此我正在寻找新的东西。我该如何实现?(最好依次使用jQuery-
Javascript-PHP)。


阅读 321

收藏
2020-05-01

共1个答案

一尘不染

您可以测试用户代理字符串:

/**
 * Determine the mobile operating system.
 * This function returns one of 'iOS', 'Android', 'Windows Phone', or 'unknown'.
 *
 * @returns {String}
 */
function getMobileOperatingSystem() {
  var userAgent = navigator.userAgent || navigator.vendor || window.opera;

      // Windows Phone must come first because its UA also contains "Android"
    if (/windows phone/i.test(userAgent)) {
        return "Windows Phone";
    }

    if (/android/i.test(userAgent)) {
        return "Android";
    }

    // iOS detection from: http://stackoverflow.com/a/9039885/177710
    if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
        return "iOS";
    }

    return "unknown";
}
2020-05-01