javascript - 在谷歌网站上检测黑莓浏览器

标签 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 用户的想法吗?

最佳答案

我不太清楚您要检测的哪些 BlackBerry 设备。不幸的是,他们中的许多人的答案是不同的。

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

User Agent in BlackBerry 10

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

User Agent in 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+

User Agent in BlackBerry 6 and 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+

User Agent in BlackBerry Device Software 4.2 to 5.0

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

因此,在我看来,确切的字符串 BlackBerry 只会出现在 Java 操作系统版本为 4.2 - 7.1 的设备的用户代理中。而且,其中,只有操作系统为 6.0 - 7.1 的用户才会使用 WebKit 浏览器。

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

关于javascript - 在谷歌网站上检测黑莓浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18038646/

相关文章:

authentication - 如何让谷歌网站页面显示特定于当前登录用户的内容

javascript - 对于 jQuery "media query"类型的情况使用 setTimeout() 是否有任何不足

java - 我们可以使用 Linq 从 java 中的集合对象中获取值吗?

java - 黑莓应用程序开发

blackberry - OnClick 按钮显示下一页

html - 不理解为什么此代码在 Google 站点 HTML 框小工具中不起作用

javascript - 如何在nodejs express中的所有http请求中使用中间件

javascript - 单击选项卡不会推进计时器,也不会附加事件类

javascript - 附加 Div 标签无法正常工作

javascript - 谷歌网站中的折叠和展开按钮