OK, I want to do browser detection; I know that everyone say not to. But here's why. I have a WebGL app/page. Detecting WebGL is easy. But if WebGL is not supported, I want to give the user information on what to do next. To do that, I need the browser, the platform and the version. So I get why everyone says to use feature detection, but in this case if I want to give instructions I have to know the browser.
For example, with Firefox I'll tell a user to change an about:config setting whereas with Safari it's on a developer menu (if memory serves).
If there is a better approach, I'm all ears. If not, is there a decent browser detection library that is consistently maintained and deals with all the edge cases or inconsistencies in the way browsers are reported.