/*en el html : test

Example of JavaScript-to-Flash communication

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); } }