jQuery 1.6浏览器检测

时间:2011-07-13 04:52:07

标签: javascript jquery

在jquery中进行所有这些api更改后,在jQuery中检测浏览器名称和版本的“最新”最佳做法是什么?

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

6 个答案:

答案 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) ....

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

答案 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是有限的。