如何定位Blackberry浏览器?

时间:2009-05-26 22:16:58

标签: css blackberry mobile screen handheld

我使用以下内容来定位iphone和手持设备以使用特定的移动样式表,但Blackberry浏览器只选择常规屏幕样式表。

<link media="handheld, only screen and (max-device-width: 320px)" href="mobile.css" type="text/css" rel="stylesheet" />
<link media="only screen and (max-device-width: 480px)" href="mobile.css" type="text/css" rel="stylesheet" />

我在网站上测试过的所有其他移动设备都在拿起正确的样式表。

有没有人知道如何定位Blackberry浏览器来做同样的事情?

谢谢!

5 个答案:

答案 0 :(得分:3)

目前移动浏览器的状态非常糟糕,我不建议尝试在客户端中检测版本。最可靠的方法是使用WURFL http://wurfl.sourceforge.net/之类的东西,然后执行所有检查服务器端。

祝黑莓手机好运!哦,不要忘记,运营商可能会在使用HTML之前搞砸HTML。

答案 1 :(得分:3)

我最终使用Javascript来检测用户代理。

然后打印mobile.css用于手持设备和屏幕(如果它是移动设备)(因为BlackBerry和iPhone认为它们是屏幕)并打印常规样式表(如果它不是移动设备)。

它不适用于没有Javascript的任何设备,但他们最好还是看看网站的裸骨版本。

答案 2 :(得分:2)

我没有确切的答案,也从未尝试过,但您可以尝试查看Mobile Device Browser File。这是针对从事移动应用程序的ASP.Net开发人员,但如果不是,可能仍然有用。它的开源并在MS-PL下获得许可。

如果您正在使用ASP.Net,请尝试从Scott Hanselman查看此播客,了解有关MDBF的更多信息 - ASP.Net and the Mobile Web

答案 3 :(得分:1)

我建议您查看以下网站:

http://deviceatlas.com/

http://mobileelements.com/

http://wurfl.sourceforge.net/

他们都谈论如何定位特定的移动设备,这样您就可以为不同的移动设备使用不同的样式表。

一般来说,对于黑莓,只需在用户代理字符串中查找“blackberry”就足够了

答案 4 :(得分:1)

这将使用名为blackberry.css

的样式表专门针对Blackberry设备
var ua = navigator.userAgent;
if (ua.match(/(BlackBerry|Blackberry|blackberry|BB|bb|RIM|rim|Playbook|PlayBook|playbook)/)!=null) { 
     document.write('<link rel="stylesheet" type="text/css" href="blackberry.css">');
     console.log ('Blackberry confirmed'); 
}