rendered paste body/*en el html :
<HTML>
<HEAD>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
<TITLE>test</TITLE>
</HEAD>
<SCRIPT LANGUAGE=JavaScript>
<!--
var IE = navigator.appName.indexOf("Microsoft") != -1;
function Alert(arg){
alert(arg);
SendMessage(arg);
}
function Load(args){
SendMessage(args);
}
function SendMessage(args){
var swf = IE ? ObjectFlash : document.ObjectFlash;
swf.SetVariable("____result", args);
}
//-->
</SCRIPT>
<BODY bgcolor="#FFFFFF">
<center><p><b><font face="Geneva, Arial, Helvetica">Example of JavaScript-to-Flash communication</font></b>
</p>
<p>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
width="550" height="400" id="ObjectFlash" >
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="test.swf" quality="high" bgcolor="#ffffff" width="550" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer" name="ObjectFlash" swLiveConnect="true" >
</object></p>
</center>
</BODY>
</HTML>
en el fla :
import com.buho.util.JSconnector;
JSconnector.addListener(this,recibe);
bt.onPress =function(){
JSconnector.send("Alert","prueba lalala ");
}
sdBt.onPress=function(){
JSconnector.send("Load","prueba||el array recibira otro elemento");
}
function recibe(arg){
texto.text+=arg+"\n";
}
*/
class com.buho.util.JSconnector{
private static var _listObj = new Array();
private static var _listFunc = new Array();
static function send(funcJs, arg){
var str = "(\'" + arg + "\')";
_root.getURL("javascript:" + funcJs + str);
}
static function addListener(obj, func){
if (isInit())init();
_listObj.push(obj);
_listFunc.push(func);
}
static function removeListener(obj, func){
for (var i =0 ;i< _listObj.length;i++){
if (_listObj[i] == obj && _listFunc[i] == func){
_listObj.splice(i, 1);
_listFunc.splice(i, 1);
}
}
}
// private
static function avisa(str){
var arr = str.split("||");
for(var i=0 ;i < _listObj.length;i++){
_listFunc[i].apply(_listObj[i], [arr]);
}
}
static function setJS(mensaje){
avisa(mensaje);
}
static function getJS(){
return null;
}
private static function init(){
_root.addProperty("____result", com.buho.util.JSconnector.getJS, com.buho.util.JSconnector.setJS);
}
private static function isInit(){
return(_root.____result == null);
}
}