JQuery检测移动浏览器?

时间:2015-05-29 23:01:19

标签: jquery

如何使用Jquery 2.1.4检测移动浏览器?

jQuery.browser.mobile 

dosn不再工作了

2 个答案:

答案 0 :(得分:2)

首先,jQuery has removed jQuery.browser有效地来自v1.9。如果您想使用它,则必须使用jQuery migrate plugin重新启用旧版jQuery的功能,包括$.browser

其次,我不相信jQuery.browser曾有jQuery.browser.mobile的可能性。

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

但是有一个解决方案!

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

如果您想为依赖于屏幕分辨率的内容进行设计,则应使用media queries和CSS。

所以这一切都归结为:特征检测>移动侦测。哦,您可能不应该关注访问者使用的浏览器,而所有较新的浏览器大部分都符合标准。在不知道您的用例的情况下,您的主要问题应该是屏幕分辨率,或者更确切地说是viewport resolutions

答案 1 :(得分:1)

正如雅各布所说,你应该确定你想要检测的是什么。只是发现它是一个"移动"设备并不是真的有用。

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