xml.load problem with IE6


IE6 has been for a very long time an enemy for web developers because of the way it renders HTML and CSS.

Fortunately, Flash has always been a rescue for me, because I develop RIA as well as HTML websites I have always enjoyed the way flash is always the same with IE6 as with other browsers.

This has been the case until the first and persistent bug.

The story

I created a flash player for a client using XML to load the song list, the XML is rendered from server side data.

What was the problem? The problem was the XML object kept being null (undefined) even though the data came from the server. This problem appeared only in IE6, not in any other browser.

I dug my code quite a bit till I figured out the solution.

The “Response Header” for the file was not the right header and it was gZipped on demand.

So, how can you solve this you ask?

  1. remove the gZip from this file, filter it out from the gZip of the other website

  2. create the exact same response header as in this image:

31-08-2009 02-23-39

Remove any other HTTP header and verify that the file is not being cached at any way.

As a validation I added a cacheKiller parameter at the end of the file call.

REXML could not parse this XML/HTML: 
   1: "player.asp?cacheKiller="+Math.Random();
REXML could not parse this XML/HTML: 
REXML could not parse this XML/HTML: