7

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

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

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

有谁知道以黑莓浏览器为目标的方法来做同样的事情?

谢谢!

4

5 回答 5

3

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

祝一切顺利在黑莓上运行良好!哦,别忘了,运营商可能会在你的 HTML 到达手机之前就搞砸了。

于 2009-05-27T09:04:07.303 回答
3

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

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

它不适用于任何没有 Javascript 的设备,但无论如何他们最好还是查看网站的基本版本。

于 2009-05-28T16:24:06.837 回答
2

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

如果您使用的是 ASP.Net,请尝试查看 Scott Hanselman 的播客,了解有关 MDBF - ASP.Net 和移动网络的更多信息

于 2009-05-27T02:11:26.260 回答
1

我建议查看以下网站:

http://deviceatlas.com/

http://mobileelements.com/

http://wurfl.sourceforge.net/

他们都在谈论您如何针对特定的移动设备,以便您可以为不同的移动设备使用不同的样式表。

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

于 2009-06-19T18:27:56.703 回答
1

这将专门针对带有名为 blackberry.css 的样式表的黑莓设备

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'); 
}
于 2014-05-27T14:09:34.173 回答