我最近将我的所有项目jquery都看到了最新版本,当我听到$.browser
被弃用并从最新的jquery版本中删除时,我遇到了障碍
所以我决定使用现代化器来实现同样的目标,但我不知何故无法获得浏览器
当我在控制台上运行此$.browser
时,我得到未定义的对象
以下是描述相同
的JSFIDDLE输出我做错了什么
答案 0 :(得分:1)
使用Modernizer,您可以检查所选浏览器中是否有HTML5的某些功能。它不是一个可以带回$.browser
如果您需要带回$.browser
,可以使用:https://github.com/gabceb/jquery-browser-plugin
答案 1 :(得分:1)
或Why is browser sniffing not a recommended practice?
我建议你研究功能检测,以及它为什么比浏览器检测或浏览器嗅探更好。 This article on the jQuery learning center解释了这两种技术,以及为什么特征检测优于浏览器检测。
总结一下,引用我引用的文章:
浏览器检测是检查浏览器的用户代理(UA)字符串的方法 浏览器系列或版本所特有的特定模式。
特定功能检测检查特定功能是否可用,而不是 针对特定浏览器进行开发。这样,开发人员就可以编写自己的 两种情况的代码:浏览器支持支持所述功能,或浏览器 不支持支持此功能。
虽然浏览器检测似乎是一个简单的解决方案,但有几个问题:
目标以外的其他浏览器可能存在同样的问题。 如果我们针对不同功能定位特定浏览器,我们会隐式地 排除我们未考虑的任何浏览器。
用户代理不可靠。 用户代理由客户端浏览器设置,也可由用户配置。而 用户可以更改此字符串,浏览器的功能支持保持不变。
正如@Garath对他的回答所说,我建议你modernizr作为特征检测库。您还可以查看jQuery.support,但jQuery团队不建议将其用于jQuery的内部使用。