Flash player with ExternalInterface call and it’s use inside form tag

This article is an update to the previous one i have written i.e. picking up domain name….
It’s a new problem i noticed while using ExternalInterface in flash file and embedding that swf file in asp.net web pages and within form tags

The problem starts when we have our flash player (with External Interface call) embedded inside a form tag that is mostly in ASP.net web pages which use runat server controls. Most of IE version 6 and IE 7 starts giving error:’try { flashplayer.SetReturnValue(__flash__toXML(window.location.hostname.toString()) ); } catch (e) { flashplayer.SetReturnValue(“”); }’ or ‘flash player id undefined’
Looking at various websites and finally on livedocs I was able to find the solution/workaround to the problem: Just add following line after your flash file embed code in which you are using any ExternalInterface call.

window.[flashplayer id used in embed code] = document.getElementById(['flash player id used in embed code']).

This will add a window level pointer to the movie so that it can be referenced directly using id/name. As this is only required in case of IE you can put condition for it’s execution only in case of IE.

Advertisements