I am going to play a devil\'s advocate for a moment. I have been always wondering why browser detection (as opposed to feature detection) is considered to be a flat out as a
It seems to me browser detection has been widely frowned upon since this post by Resig a couple of years ago. Resig's comments however were specific to libraries/framework code, i.e. code that will be consumed by other [domain-specific] applications/sites.
I think feature detection is without question a good fit for libraries/frameworks. For domain-specific applications however I'm not so sure browser detection is that bad. It's suitable for working around known browser characteristics that are difficult to feature-detect, or for browsers that have bugs in their implementation of the feature itself. Times that browser detection is appropriate:
That said, there are some major pitfalls (probably committed by most of us) to avoid when doing browser detection.