从我所做的所有阅读中,我已经了解到,不建议使用用户代理字符串,因为它可能被欺骗。设备可能受阻等如何检测浏览器功能?
我也理解,最好的选择是做浏览器功能测试。
我该怎么办?我的意思是,我有一些标准的能力测试,例如:object detection?
还有一个值得关注的问题是,每次用户访问网站时都不会包含一些开销?我知道我可以用一些饼干来对付这个。
请不要建议使用像jQuery这样的第三方插件/框架。
从我所做的所有阅读中,我已经了解到,不建议使用用户代理字符串,因为它可能被欺骗。设备可能受阻等如何检测浏览器功能?
我也理解,最好的选择是做浏览器功能测试。
我该怎么办?我的意思是,我有一些标准的能力测试,例如:object detection?
还有一个值得关注的问题是,每次用户访问网站时都不会包含一些开销?我知道我可以用一些饼干来对付这个。
请不要建议使用像jQuery这样的第三方插件/框架。
Modernizr是一个功能检测的库。您可以按原样使用库,然后查询它所需的功能,或者查看它如何适用于要检测的特定功能,并将其复制到自己的代码中。
如何对给定功能进行功能检测完全取决于特定功能。
实际功能检测通常非常快(可能比检索/存储cookie中的任何内容更快)。此外,如果用户升级到功能更改的浏览器的较新版本,则最好每次都进行功能检测。
例如,如果你想知道是否可以使用.forEach()方法对数组对象,你可以简单地使用:
if (Array.prototype.forEach) {
// enter code here
}
下面是关于此主题的MSDN杂志文章:No Browser Left Behind: An HTML5 Adoption Strategy。
他们提到使用一个框架,但你可以应用技术解释没有它。
悲伤你不想第三方因为[Modernizr的](http://www.modernizr.com/)正是你想要的。 – 2011-12-14 07:35:00
我的观点是,我学会了如何做到这一点。但是,感谢链接ll看看它。 – ThinkingMonkey 2011-12-14 07:36:37
http://www.quirksmode.org/js/detect.html – noob 2011-12-14 07:51:24