His point is more subtle - you can do browser detection based on user agent strings, feature detect, conditional script inclusion, even css hacks which set styles that can be read from javascript. His point (such that it is) is that these are all bad ideas.
Instead of detecting which browser you are using based on which features you support, the script should check to see if the features it wants to use exist, and if so use them.
So, instead of:
var isIE = !!document.all;
function doSomething()
{
if (isIE) document.all.whatever();
}
You do:
if (document.all)
{
function doSomething()
{
document.all.whatever();
}
}
Even closer to the point, he means that these are both bad form:
var isIE = navigator.userAgent.ssubstr...;
var isIE = !!document.all;
And this is fine in theory. I agree, as I think most other Javascript programmers do now.
However, I have a challenge for you: calculate the browser window's width in pixels, before the page is done loading, and return the correct value without doing any browser sniffing.
Instead of detecting which browser you are using based on which features you support, the script should check to see if the features it wants to use exist, and if so use them.
So, instead of:
You do: Even closer to the point, he means that these are both bad form: