Jump to Navigation

Adobe Flash’s ExternalInterface and Microsoft Internet Explorer

As my new community project is using a lot of Javascript and Flash Communication, I rely on Flash’s ExternalInterface. ExternalInterface allows me to create simple functions in Flash, which are callable from Javascript. I developed everything using Firefox, where everything worked just fine, but when using Internet Explorer, I encountered the problem that no ExternalInterface functions would register, breaking the Flash/Javascript Communication completely.

After endless hours of testing, I found out that for ExternalInterface to work in IE, 2 conditions have to be met.

  1. The Flash needs to visible. Loading a flash into a hidden div does not work.
  2. It has to be loaded before the document onload event. All Flash files loaded after the onload event can’t register any functions with ExternalInterface.

There seems to be an issue with transparent PNGs (with alpha channel) in IE 7, too. I had some ugly black background in the pictures even though other PNGs worked just fine. The reason was that it the div was hidden first. I guess IE 7 has some serious issues with invisible divs.

One Response to “Adobe Flash’s ExternalInterface and Microsoft Internet Explorer”

  1. cybercake:

    It is sad that the incompatibility between browsers, which has last for decades, seems still to last for decades. T_T