2011-12-14 152 views
4

从我所做的所有阅读中,我已经了解到,不建议使用用户代理字符串,因为它可能被欺骗。设备可能受阻等如何检测浏览器功能?

我也理解,最好的选择是做浏览器功能测试。

我该怎么办?我的意思是,我有一些标准的能力测试,例如:object detection

还有一个值得关注的问题是,每次用户访问网站时都不会包含一些开销?我知道我可以用一些饼干来对付这个。

请不要建议使用像jQuery这样的第三方插件/框架。

+1

悲伤你不想第三方因为[Modernizr的](http://www.modernizr.com/)正是你想要的。 – 2011-12-14 07:35:00

+1

我的观点是,我学会了如何做到这一点。但是,感谢链接ll看看它。 – ThinkingMonkey 2011-12-14 07:36:37

+1

http://www.quirksmode.org/js/detect.html – noob 2011-12-14 07:51:24

回答

5

Modernizr是一个功能检测的库。您可以按原样使用库,然后查询它所需的功能,或者查看它如何适用于要检测的特定功能,并将其复制到自己的代码中。

如何对给定功能进行功能检测完全取决于特定功能。

实际功能检测通常非常快(可能比检索/存储cookie中的任何内容更快)。此外,如果用户升级到功能更改的浏览器的较新版本,则最好每次都进行功能检测。

例如,如果你想知道是否可以使用.forEach()方法对数组对象,你可以简单地使用:

if (Array.prototype.forEach) { 
    // enter code here 
}