el problema es que necesito mesclar javascript con AsctionScript
bueno el problema es el siguiente este código devuelve un valor en string
Código PHP:
function loadText(){
return 'hola Mundo';
}
Código PHP:
function loadText():void {
AreaDeTexto.text=ExternalInterface.call("loadText");
}
loadText()
la cosa se va complicando según se va creando mas código bueno debido a la incompatibilidad de carga (que solo posee el IE ) tengo que crear un código de esta forma
Código PHP:
function cfx_OBJ_flash(objAttrs, params, embedAttrs)
{
var str = null;
if (isIE && isWin && !isOpera)
{
str = '<object ';
for (var i in objAttrs)
{
str += i + '="' + objAttrs[i] + '" ';
}
str += '>';
for (var i in params)
{
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
}
str += '</object>';
var div_cont=document.createElement('div');
div_cont.innerHTML=str;
return div_cont;
}
else
{
str = document.createElement('embed');
for (var i in embedAttrs)
{
str.setAttribute(i ,embedAttrs[i]);
}
var div_cont=document.createElement('div');
div_cont.appendChild(str);
return div_cont;
}
}
es en esta parte donde creo que esta el problema como el Ie es tan chapucero que la única forma de crear un objetc tiene que ser a través de string y ejecutado por el innerHTML o write , esto me obliga a crear un div donde seran almacenados los swf , esta parte no crea problemas en las cargas de los swf pero si en la comunicación entre el flash y el javascript, no se porque pero si meto dentro de un div creado por java ,el flash no recibe los valores enviados por la funcion java .por otro lado si coloco el codigo asi
Código PHP:
function cfx_OBJ_flash(objAttrs, params, embedAttrs)
{
var str = null;
var idObj;
if (isIE && isWin && !isOpera)
{
str = '<object ';
for (var i in objAttrs)
{
if(i..toLowerCase()=="id"){
idObj=objAttrs[i]
}
str += i + '="' + objAttrs[i] + '" ';
}
str += '>';
for (var i in params)
{
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
}
str += '</object>';
document.write(str );
return idObj;
}
else
{
str = document.createElement('embed');
for (var i in embedAttrs)
{
str.setAttribute(i ,embedAttrs[i]);
}
var div_cont=document.createElement('div');
div_cont.appendChild(str);
return div_cont;
}
}
en fin la cuestión es saber porque el flash no puede recibir los valores de retorno si se emplea el appendChild o innerHTML ,,
espero que me ayuden me estoy volviendo loco lo que me molesta mas es el hecho de que esto lo programe en una semana y sin saber mucho de java pero gracias al IE llevo 2 samas mas intentado compatibilizarlo con muy pocos resultados,y todo ay que decirlo con las soluciones mas mediocres que puede a ver;