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.