3

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

黑莓用户报告错误,所以我想将他们重定向到另一个页面。

我尝试添加此代码

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

使用此处提供的说明,但它不起作用。我在我创建的 html 文件中测试了代码,它可以工作。

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

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

4

1 回答 1

7

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

这个 BlackBerry.com 参考文档中,一些 UserAgent 示例:

BlackBerry 10 中的用户代理

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

BlackBerry 平板电脑操作系统中的用户代理

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 设备。

于 2013-08-04T02:33:21.967 回答