-2

可能重复:
如何以编程方式获取 iOS 的字母数字版本字符串

是否有任何未来证明正则表达式可以从用户代理获取以下智能手机操作系统的版本号?

安卓

(我发现了类似的东西: /Androids+([d.]+)/ )

iOS

黑莓

任何建议将不胜感激。

澄清:似乎问题是询问如何在网络应用程序中获取移动设备操作系统版本,可能使用 JS。

更新:

在我不好意思问这个问题之后,我至少想提供我想出的解决方案:

supportedDevice: function() {
    var supportedDevice = false;
    var userAgent = window.navigator.userAgent;

    // check for supported Android device
    if ( /Android/.test(userAgent) ) {
        var a_index = Number(userAgent.indexOf('Android')) + 8;
        var a_version = +userAgent.substring(a_index, a_index+1);
        if ( a_version >= 3 ) {
            supportedDevice = true;
            console.log('Android device supported!')
        }

    }
    // check for iOS supported devices
    else if ( /iPhone/.test(userAgent) ) {
        var i_index = Number(userAgent.indexOf('iPhone OS')) + 10;
        var i_version = +userAgent.substring(i_index, i_index+1);
        if ( i_version >= 6 ) {
            supportedDevice = true;
            console.log('iPhone device supported!')
        }
    }
    // check for iOS supported devices
    else if ( /BlackBerry/.test(userAgent) ) {
        var b_index = Number(userAgent.indexOf('Version/')) + 8;
        var b_version = +userAgent.substring(b_index, b_index+1);
        if ( b_version >= 6 ) {
            supportedDevice = true;
            console.log('BB device supported!')
        }
    }
    return supportedDevice;
}
4

1 回答 1

1

如果您需要在 Web 应用程序中获取版本号,最好的办法是使用设备用户代理并解析出版本号。一种更稳健的方法是在WURFL 数据库中查找用户代理以获得设备特征和相应的操作系统。第一种方法更简单。

如果您使用的是应用程序,大多数操作系统 SDK 都提供 API 来识别设备上运行的操作系统版本

于 2012-10-23T04:01:44.550 回答