Javascript 针对特定目标的黑莓&x27;s与用户代理

Javascript 针对特定目标的黑莓&x27;s与用户代理,javascript,jquery,blackberry,browser-detection,Javascript,Jquery,Blackberry,Browser Detection,我发现这个javascript可以检测blackberry设备: <script type="text/javascript"> var ua = navigator.userAgent; if (ua.indexOf("BlackBerry") >= 0) { if (ua.indexOf("Version/") >= 0) { // ***User Agent in BlackBerry 6 and BlackBerry 7

我发现这个javascript可以检测blackberry设备:

<script type="text/javascript">
    var ua = navigator.userAgent;
    if (ua.indexOf("BlackBerry") >= 0) {
        if (ua.indexOf("Version/") >= 0) { // ***User Agent in BlackBerry 6 and BlackBerry 7
            Verposition = ua.indexOf("Version/") + 8;
            TotLenght = ua.length;
            document.write("Jorgesys  BB OS Version :: " + ua.substring(Verposition, Verposition + 3));
        }
        else {// ***User Agent in BlackBerry Device Software 4.2 to 5.0
            var SplitUA = ua.split("/");
            document.write("Jorgesys BB OS Version :: " + SplitUA[1].substring(0, 3));
        }
    }
</script>

var ua=navigator.userAgent;
如果(ua.indexOf(“BlackBerry”)>=0){
如果(ua.indexOf(“Version/”>=0){/***BlackBerry 6和BlackBerry 7中的用户代理
Verposition=ua.indexOf(“版本/”)+8;
总长度=ua.长度;
编写(“Jorgesys BB OS版本:”+ua.substring(Verposition,Verposition+3));
}
else{//***黑莓设备软件4.2至5.0中的用户代理
var SplitUA=ua.split(“/”);
document.write(“Jorgesys BB OS版本:”+SplitUA[1]。子字符串(0,3));
}
}
但需要针对支持的特定黑莓:

黑莓: 9630
9700
8900
9000

这有可能仅仅针对那些黑莓手机吗


谢谢!

是的,每个代理都有自己的黑莓版本

示例:
**黑莓9000**/5.0.0.93配置文件/MIDP-2.0配置文件/CLDC-1.1供应商ID/179

更多信息请访问开发者网站。

使用一个简单的正则表达式获取版本

<script type="text/javascript">
    var ua = "BlackBerry9000/5.0.0.93 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179";
    var match = ua.match(/^BlackBerry[0-9]*/);
    console.log(match[0]);

    var ua = "Mozilla/5.0 (BlackBerry; U; BlackBerry 9700; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/X.X.X.X Mobile Safari/534.11+";
    var match = ua.match(/BlackBerry\s[0-9]*/);
    console.log(match[0]);

    var ua = "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/0.0.1 Safari/534.8+";
    var match = ua.match(/RIM Tablet OS\s[0-9].[0-9].[0-9]/);
    console.log(match[0]);
</script>

var ua=“BlackBerry9000/5.0.0.93配置文件/MIDP-2.0配置文件/CLDC-1.1供应商ID/179”;
var match=ua.match(/^BlackBerry[0-9]*/);
console.log(匹配[0]);
var ua=“Mozilla/5.0(BlackBerry;U;BlackBerry 9700;en-US)AppleWebKit/534.11+(KHTML,类似Gecko)版本/X.X.X.X Mobile Safari/534.11+”;
var match=ua.match(/BlackBerry\s[0-9]*/);
console.log(匹配[0]);
var ua=“Mozilla/5.0(PlayBook;U;RIM平板电脑操作系统1.0.0;en-US)AppleWebKit/534.8+(KHTML,类似Gecko)版本/0.0.1 Safari/534.8+”;
var match=ua.match(/RIM Tablet OS\s[0-9].[0-9].[0-9]/);
console.log(匹配[0]);

您是否查看了user agent并查看了它包含的内容?BB agent字符串似乎包含数据:对于BB OS 6和7,useragent字符串是不同的,需要进行不同的解析(您的链接显示了两个版本)。不过,我应该将其放在代码中的什么位置??我想这就是我要去的地方confused@Xtian你只会瞄准Blackberry 9700,如果是这样,就不要做第一个检查,(ua.indexOf(“Blackberry”)>=0)只做第二个检查。