Cuando trabajamos en el desarrollo de aplicaciones web, móviles, etc, muchas veces nos enfrentamos a distintos sistemas operativos, navegadores, tipo de equipos, resoluciones, entre otras cosas. Hechos que por instantes nos rompe la cabeza intentando buscar soluciones. Si bien es cierto existen otras formas como hacer este trabajo, también podemos dejar esta pequeña labor a nuestro muy amado ActionScript 3.0.
La Clase Capabilities nos permite obtener cierta información útil para el normal desarrollo de nuestro SWF, ya que nos da acceso a algunas propiedades que nos permitirán tomar decisiones.
A continuación pondré las que considero relevantes pero sugiero ver la documentación al respecto:
Mostraremos en un campo de texto dinámico la información.
Código :
var dondeEstoy:String = Capabilities.playerType; campo.text=dondeEstoy;
Dependiendo de donde ejecutemos el swf veremos mensajes distintos.
Por ejemplo, si ejecutamos desde el mismo Flash, nos mostrará el mensaje: External

En cambio, si ejecutamos desde el player de Flash, veremos: StandAlone

Ahora, si vemos esto desde un navegador las cosas cambian un poco, porque en Firefox, Opera y Safari (pc) se aprecia PlugIn y en nuestro siempre distinto Internet Explorer vemos: ActiveX y esto sucede porque detecta el control mientras que los demás navegadores detectan el plug-in.

Esto nos da la posibilidad de poder identificar si estamos en Internet Explorer o en Firefox, por poner un ejemplo:
Código :
var ete:String = Capabilities.playerType; campo.text=Capabilities.playerType; if (ete=="PlugIn") { campo.text = "Estas en Firefox, Opera o Safari"; } else { campo.text = "Estas en Internet Explorer"; }

Del mismo modo, podemos saber en qué sistema operativo estamos trabajando:
Código :
campo.appendText("\n"+Capabilities.os);



Y una de las cosas que siempre es útil saber, es sobre qué versión del player estamos trabajando:
Código :
campo.appendText("\n"+System.capabilities.version);
Y terminando, podemos obtener el idioma del sistema operativo:
Código :
campo.appendText("\nIdioma: "+Capabilities.language);

Y así hay otros más que según su necesidad ya podrían investigar como por ejemplo:
Código :
//resolución de ancho trace(Capabilities.screenResolutionX); //resolución de alto trace(Capabilities.screenResolutionY); //verificar si contamos con prestaciones de audio trace(Capabilities.hasAudio);
Bueno, espero les sirva.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Zandy el 24 de Diciembre de 2007
salu2
Sólo comentar que la clase Capabilities está disponible también en AS2, e incluso en AS1 Flash Player 6.
Por eldervaz el 24 de Diciembre de 2007
The Fricky! :
Sólo comentar que la clase Capabilities está disponible también en AS2, e incluso en AS1 Flash Player 6.
Es cierto, la forma q puse está en AS3.
En AS2, sería así
Código :
Pero muy buena acotación The Fricky
Por yojanner el 08 de Marzo de 2008