I spent a good deal of time working on the CHT product over the
weekend. I made some tweaks to the menu system and added a help
system. It works fairly well if I do say so my self.
I was running through a test and I found something interesting.
ASP.NET out of the box has very spotty support for browsers other then
IE. You probablly don't think this is much of a suriprise as #1
IE and ASP.NET are both MS products but from another perspective issue
#2 is the adoption of IE. It has an overwhelming market share and
any company catering to the web market needs to look at its user base
and see what the market is needing or wanting. A product that
works with IE is going to hit a large portion of the target. Also
most people using an alternative browser still have IE installed just
in case (or b/c they can't get rid of IE ;>).
This brings me to the point of this post. I have decided to
postpone official support for Firefox until at least the next release
of CHT. I have been testing the product in both browsers to
ensure the widest widest possible.
Here are a few issues I ran into supporting Firefox:
- ASP.NET considers all other browsers as down level, meaining that
it renders tables instead of DIVs and some other annoying issues
This can be fixed with a browsercaps section in the web.config
file. Google on it.
- ASP.NET client-side validation does not work on Firefox.
This is because of the validation script used by ASP.NET validation
controls. There is a work around for this. It also involves
the browsercaps issue mentioned above but you must also use custom
validation controls of which there are a few out there. A link to a great article on the topic.
So my alternatives are to use hacks in ASP.NET 1.1 or wait until 2.0
comes out with the official fixes for all this. Considering the
limited market share of Firefox and a foreseeable fix I think I will
dealy official support for Firefox. However I will continue to
test against Firefox just to see what my CSS and HTML look like in
another browser. I will continue to use the browsercaps hack for
correct rendering but I will have to leave cross-browser validation for
another day.