Foros del Web » Programando para Internet » Javascript »

No se a quien preguntar , Estoy perdido XDXD

Estas en el tema de No se a quien preguntar , Estoy perdido XDXD en el foro de Javascript en Foros del Web. hola amig@s jeje bueno estoy completamente pedido y no se a quien preguntar XDXD el problema es que necesito mesclar javascript con AsctionScript bueno el ...
  #1 (permalink)  
Antiguo 22/03/2009, 20:37
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
No se a quien preguntar , Estoy perdido XDXD

hola amig@s jeje bueno estoy completamente pedido y no se a quien preguntar XDXD
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';                            

el flash posee un código que recibe dicho valor de este modo

Código PHP:
function loadText():void {

 
AreaDeTexto.text=ExternalInterface.call("loadText");
    
}
loadText() 
hasta ahí todo perfecto

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(objAttrsparamsembedAttrs

 var 
str null;
  if (
isIE && isWin && !isOpera)
  {
    
str '<object ';
    for (var 
i in objAttrs)
    {
      
str += '="' objAttrs[i] + '" ';
    }
    
str += '>';
    for (var 
i in params)
    {
      
str += '<param name="' '" 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(,embedAttrs[i]);
    }
   var 
div_cont=document.createElement('div');
    
div_cont.appendChild(str);
   return 
div_cont;
  }   
  

como veréis en el código existen tres variables que detectan si el navegador es ie o opera de pende de eso crea los elementos donde irán los swf ,,(isIE && isWin && !isOpera)->estas variables como es obvio toman sus valores en otra funcion XD

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(objAttrsparamsembedAttrs

 var 
str null;
var 
idObj;
  if (
isIE && isWin && !isOpera)
  {
    
str '<object ';
    for (var 
i in objAttrs)
    {
       if(
i..toLowerCase()=="id"){
          
idObj=objAttrs[i]
        }
      
str += '="' objAttrs[i] + '" ';
    }
    
str += '>';
    for (var 
i in params)
    {
      
str += '<param name="' '" value="' params[i] + '" /> ';
    }
    
str += '</object>';
    
    
document.write(str );
   return 
idObj;
  }
  else
  {
   
str document.createElement('embed');
    for (var 
i in embedAttrs)
    {
      
str.setAttribute(,embedAttrs[i]);
    }
   var 
div_cont=document.createElement('div');
    
div_cont.appendChild(str);
   return 
div_cont;
  }   
  

funciona pero solo me permite crear un solo swf ya que si empleo de nuevo dicha funcion me elimina todo el contenido del documento y coloca el swf nuevo

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;
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:03.