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) ....
jQuery.browser效果很好。 在大多数情况下,所有方法都会查找浏览器代理文本,这些文本可以由用户更改,因此没有可靠的方法。
他们建议不要使用它并检查是否存在特定的API,但是如果你需要知道浏览器,这种方法效果很好。
jQuery.each(jQuery.browser, function(i, val) { $("" + i + " : " + val + "") .appendTo( document.body ); });
你可以参考参考
HTML5,CSS需要,使用Modernizr(http://modernizr.com/)
$ .support或$ .browser是有限的。