2015-05-29 136 views

回答

1

正如Jacob所说的,你应该确定你想要检测的是什么。只是检测到它是“移动”设备并不是很有用。

  1. 对于屏幕宽度,请使用CSS媒体查询。 Examples on CSS-Tricks
  2. 对于触摸功能,我推荐使用Modernizr
2

首先,jQuery的has removed jQuery.browser有效地从1.9版。如果你想使用它,你将不得不利用jQuery migrate plugin来重新启用旧jQuery的功能,包括$.browser

二,我不相信jQuery.browser曾经有过jQuery.browser.mobile的可能性。

第三,从jQuery中删除的原因是您需要提出一个不同的问题:您如何定义移动浏览器?它是屏幕分辨率吗?您也可以在笔记本电脑上调整屏幕大小。触摸界面?笔记本电脑也有这些。浏览器版本?我怀疑Android版Chrome和Windows版Chrome有什么区别。

但有一个解决方案!

jQuery建议使用“特征检测”,而这是一个非常好的主意。这意味着什么基本上是在需要时检查某些功能。例如,如果你想用手指滚动某个东西,用jQuery说一个图片滑块,你可以检查是否存在触摸事件:var hasTouch = ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch;

如果你想设计一些依赖于屏幕分辨率的东西,你应该使用media queries和CSS。

所以这一切归结为:特征检测>移动检测。哦,你可能不应该关心什么浏览器您的访问者正在使用,而所有新的浏览器大部分保持在标准。你的主要的关注,不知道你的用例,应该是屏幕分辨率,或者更确切地说viewport resolutions