Back in the day, when I first started writing software for the Internet, there were a few browsers around. The first thing that stuck out was they did not work the same and trying to make websites look a precise way in all of them was a big waste of time.
When customers got picky over the layout, I explained to them the difficulty of trying to program every possibility for each browser. When that did not work, I just told them how much more it would cost and that was enough for my customers to be satisfied with a perfectly acceptable, if not perfect, layout.
When Internet Explorer dominated the Internet browser scene, while some shouted "Evil Empire", I was relieved, because I could program up websites for Internet Explorer and let the browser companies worry about compatibility, as it should be, instead of the other way around, as it is today.
Now, my websites only get about 40% of their traffic from Internet Explorer and about the same from Firefox, so my websites have to work in both, drat. Safari gets far less, but enough that if I get complaints I have to do something about handling Safari too.
For about the last month, in the spare time I do not have, I have been tinkering around trying to fix a problem with a web form that displays in Internet Explorer, but not Firefox.
The solution to dynamically resizing an iframe in both Firefox and Internet Explore revealed itself here.
While the solution seems simple, finding the solution was not, as I ran across other cross browser issues trying to test what might be causing the problem.
Cross browser Javascript debugging is not like C-Sharp support in Visual Studio. You do not get an error message that says a method or attribute is invalid. In Javascript, you just do not get the results you want. You then have to go line by line through your code to see what did not work.
Guess what, innerText attribute is not supported in Firefox. When I was trying to debug why the form was not displayed and write a message to see which line was failing, the message did not display either.
So, before I could figure out what was the proble with the form, I had to find the problem with writing the message, but I did not know that was what I was looking for.
When I finally solved this set of problems and the form worked, in a sense I had not made any progress for my month of work.
The form had already worked in Internet Explorer long before. The month I spent was only to keep Firefox in business.
I would much have preferred to have added new functionality to my website that would have served more of my customers needs.
By Andrew Weitzen, Bronze Inc. Copyright (c) 2010.
Bronze is the publisher of several online Internet journals including: InternetHandholding.com, DomainNames.gs, DotNetNuke.bz, Programmer.bz, Software.vg, WebHosting.vg