Although I have a (self imposed) long list of to-do's for a client's site, I've had a gnarly Firefox issue in the back of my mind for a while now.
I wrote a picture gallery application - thumbnails on the side, larger space in the center - click on a thumbnail and get the larger version in the center. Unless yer using Firefox. I used an asp:ImageButton for the thumbnails. I also used a zombie anchor tag to accomodate a call to javascript that keeps the scroll position of a data repeater.
It's taken a big effort to get this site rolling - I mean server issue after server issue (no .Net 2.0 framework - access permission-palooza - the works). After finally ironing out a bunch of (most) of my server issues (actually getting root from the host to get the thing set up) I decided to take a whack at what I assumed (foreshadowing) would be an entirely opaque Firefox problem.
Not that I cared much - I mean, most people use IE - and I could always put a label out there for Firefox users giving them a link to download a real browser (like Opera). I mean - WTF - why can't the Firefox developers make their browser work like the other browser children? Open source snobs.
So fine - I'll give a token effort - probably have to write code just for Firefox - like we're back in the days of a million browsers none too keen on complying with W3C standards (effing hippies).
Turns out, Firefox (Waterweasel?) - she don't like the empty link tag with a blocked href attribute. It's one of the oldest tricks in the book - take an anchor
to make an area clickable - put a # as the value for the href attribute - and set up the onclick event (because dollars to donuts that's what you're using a zombie link for).
Here's what the thing looks like in action: <a href="#" onclick="SomeJavascriptFunction();" />
The Waterweasel - she don't like that. No sir. So I thinks to myself - maybes I puts the onclicks events ins the tables cells definitions (combination Sigmund Freud and Finnish accent). Sho' enuff - Waterweasel starts cooperating. Damn thing still works in IE and Opera, too.
Long story short - took about 10 minutes to debug and test. Better than the usual average amount of lifetimes wacky stuff like this takes.
But now I'm late for work.
Oi veh.