浏览器检测一直被广泛接受。但是,Resig的注释特定于库/框架代码,即其他[特定于域的]应用程序/站点将使用 的代码。
我认为毫无疑问,特征检测非常适合库/框架。但是,对于特定于域的应用程序,我不确定浏览器检测是否很糟糕。它适用于解决难以进行功能检测的已知浏览器特征,或者适用于在实现功能本身中存在错误的浏览器。浏览器检测适当的时间:
- 不是跨浏览器的站点/应用程序,需要显示针对该客户端浏览器的警告/对话框/ DifferentPage。这在旧版应用程序中很常见。
- 对支持哪些浏览器和版本具有严格策略的银行或私人站点(以避免已知的安全漏洞可能会损害用户数据)
- 微观优化:以某种方式执行某些操作时,有时一个浏览器的速度要比其他浏览器快得多。根据您的用户群在该特定浏览器/版本上进行分支可能是有利的。
- IE6中缺乏png透明度
- 许多显示/渲染问题(请参阅:IEcss支持)仅在特定的浏览器版本中可见,而您实际上并不知道要测试什么功能。
也就是说,在进行浏览器检测时要避免一些主要的陷阱(可能是我们大多数人犯下的)。



