有很多种JavaScript浏览器检测的方法。
据我所知,使用navigator.userAgent
或检测功能(如XMLHttpRequest
)等。
有人能告诉我哪种方式最好、最有效吗?
有很多种JavaScript浏览器检测的方法。
据我所知,使用navigator.userAgent
或检测功能(如XMLHttpRequest
)等。
有人能告诉我哪种方式最好、最有效吗?
placeholder
属性。你可以使用浏览器检测,并维护一个列表,其中包含哪些版本的浏览器支持或不支持该属性,这很麻烦,而且你必须不断地回来查看等等,或者你可以这样做:if ("placeholder" in document.createElement("input")) {
// The browser supports the attribute
}
else {
// It doesn't
}
完成后,您就完成了。
这个页面中维护了一组很棒的功能测试,由kangax维护。还有一个名为Modernizr的库可为您执行功能检测、媒体查询等操作。如果您使用jQuery,则它通过jQuery.support
内置了一些功能检测。这篇文章中对功能检测、媒体查询、设备类型检测(平板电脑、手机或PC?)的各个方面进行了详细讨论。
特征检测是检测浏览器的捷径。如已列出,更重要的是知道您的浏览器是否支持某个功能,而不是检测浏览器。 以下链接将帮助您根据它们支持的对象区分浏览器: http://www.javascriptkit.com/javatutors/objdetect3.shtml
然而,如果您只想检测浏览器以了解情况,最好使用Navigator而不是通过检查条件来检查各种功能。