【问题标题】:Target specific BlackBerry's with User Agent使用用户代理定位特定的 BlackBerry
【发布时间】:2011-12-15 00:27:19
【问题描述】:

我发现这个 javascript 来检测黑莓设备:

<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>

但需要针对受支持的特定黑莓:

黑莓: 9630
9700
8900
9000

这可能只针对那些黑莓吗??

谢谢!

【问题讨论】:

标签: javascript jquery blackberry browser-detection


【解决方案1】:

是的,每个代理都有它的黑莓版本。

示例:
**BlackBerry9000**/5.0.0.93 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179

更多信息请访问开发者网站。
http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/How-to-detect-the-BlackBerry-Browser/ta-p/559862?IID=DEVSF30

使用简单的正则表达式来获取版本。

<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>

【讨论】:

  • 对于 BB OS 6 和 7,用户代理字符串不同,需要进行不同的解析(您的链接显示两个版本)。
  • 我会把它放在代码的什么地方??我想这就是我感到困惑的地方
  • @Xtian 您只会针对 Blackberry 9700,如果是这样,请不要进行第一次检查,(ua.indexOf("BlackBerry") >= 0) 只需进行第二次检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-31
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多