2011-04-20 65 views
0

如果我使用以下方法检测iPad Safari用户,如果将来我会尝试检测摩托罗拉Xoom或其他可能具有相似宽度的平板电脑用户,它会起作用。检测iPad Safari或缩放

<link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px)" href="ipad.css"> 

我的意思是,我将如何准确识别其他平板和使用xoom.css或othertablet.css

我所知道的用户代理的方法,但希望避免这一点。请让我知道是否可以仅使用媒体查询来实现?

+0

是否可以通过某些功能检测来区分桌面/ ipad /其他平板电脑(例如Xoom)? – testndtv 2011-04-20 08:28:58

回答

2

不,你不能告诉根据媒体查询正在使用的特定设备(和你不应该需要,因为他们都汇聚在同一个标​​准)

+0

那么最好的办法是什么?我知道这可以通过用户代理来完成,但是听说它不是检测的最佳方式...您怎么看? – testndtv 2011-04-20 08:28:18

+0

不要试图检测特定设备,只是寻找能力,否则最终会尝试支持发布的每个新设备或版本的设备。 – RobG 2011-04-20 08:52:49

+0

能力究竟意味着什么?我试图确定设备/浏览器为iPad Safari将会与Xoom上的Opera大不相同..对吧? – testndtv 2011-04-20 10:04:05

0

我们开始使用FORMFACTOR开发检测库,如FormfactorJS - 注意,我创建了这个。

该理论使用相同的语义HTML,可以专门为给定类别的设备(智能手机,平板电脑,桌面等)使用CSS和Javascript,同时也可以使用媒体查询来识别各个设备配置文件的响应式设计。

至少,好处在于您可以指定自己的检测算法,因此您可以检测同一类设备(即iPad或Xoom)的不同类型。我们选择在这种情况下通过userAgent检查完成此操作。为什么?因为根据formfactor或设备类型,您可能想要提供优化的体验。