F&**(Fing Internet Explorer
Dec. 6th, 2009 06:12 pmIt's been a while since I whipped up a new non-trivial (not just HTML, in other words) web page, so I'd forgotten.
I got this great idea that I'd throw together a web page for the church's site with a downloadable and streaming copy of the audio from the week's service and JPGs of the program (including announcements, etc).
So, I needed an embeddable MP3 player, and I figured it'd be nice to be able to flip pages on the program without reloading the page (and resetting the MP3 player) so a little trivial Javascript takes care of that.
About 30 minutes had everything working fine in Firefox under Linux. Tested, works fine in Firefox under Windows as well. Test with IE...nothing worked. It took another 2.5 hours to find and stomp out all the various things that IE doesn't do the same as everyone else. One line of code changes to 10 to support IE. Yeesh.
Amazingly, a version of this page that supports EVERYTHING BUT IE contains less code than a version that supports NOTHING BUT IE. IE has, over the years and versions, done things so many various and stupid ways that the javascript to figure out what version of IE you're running and to make allowances is more code than that to do the stuff in question with non-IE browsers (which are pretty much uniform - mainly Opera has to be allowed for separately sometimes, and once in a while, Safari). Even with IE8 in "compatibility" mode the stuff doesn't work.
I hear IE is down to under 65% market share. Unfortunately, it'll never hit zero, no matter how much every web developer in the world with any sense might wish it.
I got this great idea that I'd throw together a web page for the church's site with a downloadable and streaming copy of the audio from the week's service and JPGs of the program (including announcements, etc).
So, I needed an embeddable MP3 player, and I figured it'd be nice to be able to flip pages on the program without reloading the page (and resetting the MP3 player) so a little trivial Javascript takes care of that.
About 30 minutes had everything working fine in Firefox under Linux. Tested, works fine in Firefox under Windows as well. Test with IE...nothing worked. It took another 2.5 hours to find and stomp out all the various things that IE doesn't do the same as everyone else. One line of code changes to 10 to support IE. Yeesh.
Amazingly, a version of this page that supports EVERYTHING BUT IE contains less code than a version that supports NOTHING BUT IE. IE has, over the years and versions, done things so many various and stupid ways that the javascript to figure out what version of IE you're running and to make allowances is more code than that to do the stuff in question with non-IE browsers (which are pretty much uniform - mainly Opera has to be allowed for separately sometimes, and once in a while, Safari). Even with IE8 in "compatibility" mode the stuff doesn't work.
I hear IE is down to under 65% market share. Unfortunately, it'll never hit zero, no matter how much every web developer in the world with any sense might wish it.