在Google协作平台上检测Blackberry浏览器

时间:2013-08-04 00:31:07

标签: javascript blackberry google-sites

我正在使用Google网站上嵌入的Google日历。

BlackBerry用户报告错误,因此我想将其重定向到另一个页面。

我尝试添加此代码

<script type="text/javascript">   
   var ua = navigator.userAgent;
   var url = "http://optimizedmobile.yoursite.com/";
   if (ua.indexOf("BlackBerry") >= 0)
   {
      if (ua.indexOf("WebKit") >= 0)
      {
         window.location = url;
      }
   }
</script>

使用instructions provided here,但它不起作用。我在我创建的html文件中测试了代码并且它可以工作。

那么,在页面上包含代码的任何其他想法?您认为Google网站不支持该代码吗?

重定向BB用户的其他想法?

1 个答案:

答案 0 :(得分:6)

我不确切地知道您正在尝试检测哪些哪些 BlackBerry设备。不幸的是,对于他们中的许多人来说,答案是不同的。

来自this BlackBerry.com reference document,一些UserAgent示例:

  

BlackBerry 10中的用户代理

Mozilla/5.0 (BB10; <Device Type>) AppleWebKit/537.10+ (KHTML, like Gecko) Version/<BB Version #> Mobile Safari/537.10+
     

BlackBerry Tablet OS中的用户代理

Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.0; en-US) AppleWebKit/535.8+ (KHTML, like Gecko) Version/7.2.0.0 Safari/535.8+
     

BlackBerry 6和BlackBerry 7中的用户代理

Mozilla/5.0 (BlackBerry; U; BlackBerry AAAA; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/X.X.X.X Mobile Safari/534.11+
     

BlackBerry Device Software 4.2到5.0中的用户代理

BlackBerry9000/5.0.0.93 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179

因此,在我看来,确切的字符串BlackBerry只会显示在具有Java OS版本4.2 - 7.1的设备的用户代理中。其中,只有OS 6.0 - 7.1的用户才会使用WebKit浏览器。

因此,我认为您只需在if语句中添加更多案例,即可检测所有BlackBerry设备。