jQuery 1.6浏览器检测

随着jquery中所有这些api的变化,在jQuery中检测浏览器名称和版本的“最新”最佳实践是什么?

另外,jquery是检测浏览器的推荐语言还是应该使用服务器端?

您希望避免浏览器检测,而是进行特征检测。浏览器检测很容易伪造,因此不可靠。 请参阅John Resig关于此主题的精彩文章 。

有关详细信息,请参阅Google“ 浏览器检测与function检测

使用jQuery检测浏览器的“最佳实践”是使用jQuery.support:

http://api.jquery.com/jQuery.support/

但是,如果由于某种原因您实际上需要知道特定的浏览器,而不是是否支持某个function,jquery确实使用用户代理进行浏览器检测:

http://api.jquery.com/jQuery.browser/

然而,如该页面所述,不建议这样做,并且可能会在未来版本的jQuery中移动到插件。

$.browser器很容易,不再推荐了。

http://api.jquery.com/jQuery.browser/

请记住,伪造您的用户代理是微不足道的,我不相信它可以更可靠地检测服务器端的浏览器。 只是不要将检测用于任何超级关键的事情。

相反,jQuery建议您具体检测首先检查浏览器的原因。

例如if (jQuery.support.boxModel) ....

http://api.jquery.com/jQuery.support/

jQuery.browser效果很好。 在大多数情况下,所有方法都会查找浏览器代理文本,这些文本可以由用户更改,因此没有可靠的方法。

他们建议不要使用它并检查是否存在特定的API,但是如果你需要知道浏览器,这种方法效果很好。

 jQuery.each(jQuery.browser, function(i, val) { $("
" + i + " : " + val + "") .appendTo( document.body ); });

你可以参考参考

HTML5,CSS需要,使用Modernizr(http://modernizr.com/)

$ .support或$ .browser是有限的。