After years of writing object existence testing code intended to filter out and then compensate for any inferior browser, that mainly had the effect of filtering out Internet Explorer, it’s interesting to see the other perspective, as Joshua Allen makes detecting particular versions of Internet Explorer, and then calling everything else trash, sound like it’s reasonable and expected (despite the fact that he’s talking about its imminent and inevitable mass failure in the face of IE7):
this.ie5=(navVersion.indexOf("msie 5.0")!=-1)?true:false; this.ie55=(navVersion.indexOf("msie 5.5")!=-1)?true:false; this.ie6=(navVersion.indexOf("msie 6.0")!=-1)?true:false; this.isIE=(this.ie5||this.ie55||this.ie6)?true:false; this.isNetscape=!this.isIE;
Note the problem here — all of the IE versions are very precisely defined, and Netscape is defined to be everything else. This is a very common pattern in browser detection, and it has nothing to do with CSS bugs in IE. IE is the up-level experience that has the most capabilities, and the non-IE setting tends to be the catch-all downlevel experience that provides the lowest common denominator. As Firefox continues to catch up to built-in IE functionalities like XmlHttpRequest and rich edit, this may become less common, but for now non-IE == lowest common denominator in the majority of cases.
Oh, and Joshua? Your customers hate you for the way you’ve built that attitude into the tools you sell them. I read their bugs when they say that Firefox messes up their FrontPage-produced photo gallery, and then I email back and forth with them after I explain to them that it’s because Microsoft gave them a tool that thinks that everything but your browser is Netscape 4, and should be given broken and useless HTML and script and CSS, and they don’t like it one bit. That sort of attitude works well to maintain allegiance among your strongest supporters, the ones who will tell their own customers to use IE or just keep their damn money, but it doesn’t do a thing for all the rest, beyond increasing their frustration with the whole situation.