我使用以下内容来定位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浏览器来做同样的事情?
谢谢!
答案 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)
我建议您查看以下网站:
他们都谈论如何定位特定的移动设备,这样您就可以为不同的移动设备使用不同的样式表。
一般来说,对于黑莓,只需在用户代理字符串中查找“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');
}