检测移动浏览器而无需用户代理嗅探

时间:2013-01-17 12:54:44

标签: jquery css mobile media-queries

检测移动浏览器哪种方法更可靠?

  • UA嗅探

  • Jquery的width()

据我所知,UA嗅闻不太可靠。

我需要根据查看页面的移动设备的宽度更改页面的HTML。单靠媒体查询,我无法做到这一点。

3 个答案:

答案 0 :(得分:2)

您可以使用 mobile detect JS library 执行此操作。记下警告:

// WARNING: 
//   These JavaScript-based device detection features may ONLY work 
//   for the newest generation of smartphones, such as the iPhone, 
//   Android and Palm WebOS devices.
//   These device detection features may NOT work for older smartphones 
//   which had poor support for JavaScript, including 
//   older BlackBerry, PalmOS, and Windows Mobile devices. 
//   Additionally, because JavaScript support is extremely poor among 
//   'feature phones', these features may not work at all on such devices.
//   For better results, consider using a server-based version of this code, 
//   such as Java, APS.NET, PHP, or Ruby.

答案 1 :(得分:0)

有两种选择:

1-用户代理嗅探。 2-mobile detect JS库

答案 2 :(得分:0)

您刚刚回答了自己的问题 - 您要么采用用户的浏览器或其设备宽度。

如果您想在宽度小于WIDTH_CONSTANT时执行某些操作,请使用mediaQueries,或使用javascript检查尺寸。

现在客户端不建议用户代理嗅探,因为您不需要嗅探用户代理,而是需要查找您感兴趣的功能。

所以在你的情况下,我几乎有信心说你应该寻找设备宽度。

P.S。如果您在服务器端进行交易,我认为使用嗅探是了解设备用户正在使用的唯一方法。