在jquery中进行所有这些api更改后,在jQuery中检测浏览器名称和版本的“最新”最佳做法是什么?
另外,jquery是检测浏览器的推荐语言还是应该使用服务器端?
答案 0 :(得分:3)
您想要避免浏览器检测&而不是做特征检测。浏览器检测可以很容易伪造&因此是不可靠的。请参阅此主题的nice post by John Resig。
有关详细信息,请参阅Google“浏览器检测与功能检测”
答案 1 :(得分:3)
使用jQuery检测浏览器的“最佳实践”是使用jQuery.support:
http://api.jquery.com/jQuery.support/
但是,无论出于何种原因,您实际上需要了解特定的浏览器,而不是是否支持某项功能,jquery确实使用用户代理进行浏览器检测:
http://api.jquery.com/jQuery.browser/
正如该页面所述,不推荐这样做,可能会在未来的jQuery版本中移动到插件。
答案 2 :(得分:2)
$.browser
很容易,不再推荐了。
http://api.jquery.com/jQuery.browser/
请记住,伪造您的用户代理是微不足道的,我不相信它可以更可靠地检测服务器端的浏览器。只是不要将检测用于任何超级关键的事情。
jQuery建议您具体检测首先检查浏览器的原因。
例如if (jQuery.support.boxModel) ....
答案 3 :(得分:1)
jQuery.browser效果很好。在大多数情况下,所有方法都会查找浏览器代理文本,这些文本可以由用户更改,因此没有确定的方法。
他们建议不要使用此功能并检查是否存在特定的API,但如果您需要了解浏览器,则此方法效果很好。
答案 4 :(得分:0)
jQuery.each(jQuery.browser, function(i, val) {
$("<div>" + i + " : <span>" + val + "</span>")
.appendTo( document.body );
});
您可以参考refer
答案 5 :(得分:0)
HTML5,CSS需要,使用Modernizr(http://modernizr.com/)
$ .support或$ .browser是有限的。