First I’d like to say that I left out IE6 because it’s a stupid browser and does not matter to me.
Recently I have been working on a html5 audio player. Obviously I need to provide a fallback for IE8 browser. But I did not want to redesign the whole player again in flash so the plan was to create a swf container that just plays music and gets commands from the current UI.
All went awesome, the swf totaled a whooping 1.77 kb and was receiving commands fine via ExternalInterface. Tested even in IE8 and worked fine from the first time. But then I decided to place multiple players on the page. Then all broke loose. Only one player worked. So I thought, and thank God I thought well, ExternalInterface does not allow multiple callbacks with the same name. So I passed the id that should be unique of the audio player container via FlashVars to the swf and within the Swf I created functions with ExternalInterface that had the ID appended to their namespaces.
Took a little time, but the story had a happy ending.