Comunidad de diseño web y desarrollo en internet online

Firefox, un retraso con URLRequest provoca un error...

Citar            
MensajeEscrito el 05 Jul 2010 02:52 pm
Antes de comenzar quiero expresar mi mas sincera enhorabuena por este sitio.

Me he decidido a perturbar la armonía del foro con una insidiosa pregunta sobre la eterna compatibilidad de funciones entre navegadores.

He aqui el delito:
Estoy creando una web usando Flash CS4 y AS3, no llevo mucho en esto pero encuentro fascinante la programación en Flash.
Como no estoy demasiado experimentado, he decidido incluir Php en el desarrollo. El problema surgió usando fsockopen.
El comando fsockopen lo utilizo para verificar la disponibilidad de puertos de un servidor, indispensable.
El comando se presenta asi: $ls = fsockopen($ip,2106,$r1,$r2,0.3);

Bien, en cualquier navegador, cuando $l queda sin respuesta, el resultado se muestra, pero en Firefox no se muestra.
He comprobado de manera satisfactoria, que el archivo que ejecuta el Php, recibe la información y la carga perfectamente.

De hecho, creia que estaba cometiendo alguna clase de error al no ver los resultados esperados cuando colgaba la página en la red, suelo utilizar Firefox, hasta que probé con IExplorer, Opera y finalmente, Chrome.

Todos ellos muestran el resultado esperado, excepto, Firefox, que no muestra nada.

La página contiene varios UILoader donde cargo separadamente, cada módulo.
El módulo en cuestión lleva este código:

Código ActionScript :

var file_url:URLRequest = new URLRequest("serverStatus.php");
var file_data:URLLoader = new URLLoader(file_url);

file_data.dataFormat = URLLoaderDataFormat.VARIABLES;

file_data.addEventListener(Event.COMPLETE,mostrarStatus);
ls_off_gs_off.visible=false;
ls_off_gs_on.visible=false;
ls_on_gs_off.visible=false;
ls_on_gs_on.visible=false;

function mostrarStatus(e:Event):void {
   file_data.removeEventListener(Event.COMPLETE,mostrarStatus);
   //trace(file_data.data.ls + " - " + file_data.data.gs);
   
   if (file_data.data.ls==undefined)
   {
      if (file_data.data.gs==undefined) { ls_on_gs_on.visible=false; ls_on_gs_off.visible=false; ls_off_gs_on.visible=false; ls_off_gs_off.visible=true; }
      else { ls_on_gs_on.visible=false; ls_on_gs_off.visible=false; ls_off_gs_on.visible=true; ls_off_gs_off.visible=false; }
      
   }
   
   if (file_data.data.ls==1)
   {
      if (file_data.data.gs==undefined) { ls_on_gs_on.visible=false; ls_on_gs_off.visible=true; ls_off_gs_on.visible=false; ls_off_gs_off.visible=false; }
      else { ls_on_gs_on.visible=true; ls_on_gs_off.visible=false; ls_off_gs_on.visible=false; ls_off_gs_off.visible=false; }

   }
   
   //test.text=file_data.data.ls+" "+file_data.data.gs;
}


y el Php es aun mas simple:

Código PHP :

<?
   $ls = fsockopen("1.2.3.4",2106,$r1,$r2,0.3);
   $gs = fsockopen("5.6.7.8",7777,$err1,$err2,0.3);
   
   if ($ls)
      $res = $res."ls=1";
   else
      $res = $res."ls=0";
   
   if ($gs)
      $res = $res."&gs=1";
   else
      $res = $res."&gs=0";
   
   echo $res;
?>


Expuesto esto, es posible hayar una solución al eterno conflicto entre navegadores?

Gracias ^^

Pd.: La página web es http://l2nila.com y el objeto en cuestión es la "galleta" de la esquina superior derecha.

Por kimeraweb

3 de clabLevel



Genero:Masculino  

España

firefox
Citar            
MensajeEscrito el 05 Jul 2010 07:58 pm
Para asegurarse el orden de los eventos, declara el URLLoader y luego cargas:

Código ActionScript :

var file_url:URLRequest = new URLRequest("serverStatus.php"); 
var file_data:URLLoader = new URLLoader(); 
file_data.dataFormat = URLLoaderDataFormat.VARIABLES; 
file_data.addEventListener(Event.COMPLETE,mostrarStatus);
file_data.load(file_url);


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Jul 2010 11:01 pm
Este cambio ha mejorado sustancialmente el código. No sólo funciona en Firefox sino que además la ejecución ha ganado en velocidad. Ahora se ejecuta casi instantaneamente en cualquier navegador (IE, FF, Opera y Chrome).

Muchas gracias solisarg.

Por kimeraweb

3 de clabLevel



Genero:Masculino  

España

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.