Cristalab

Datos del sistema en Flash con la clase Capabilities

Por: eldervaz + 24.12.2007

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.

Etiquetas actionscript_3 flash

Comentarios | Enviar un comentario
Muy bueno elderVaz miau..

salu2
Por: Zandy
Muy buen Tip, seguro que a muchos les servira...
Thumbs up
Por: M@U
Muy buen tip, Elder.
Sólo comentar que la clase Capabilities está disponible también en AS2, e incluso en AS1 Flash Player 6.
Por: The Fricky!

The Fricky! :

Muy buen tip, Elder.
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 :

trace(System.capabilities.playerType);

Pero muy buena acotación The Fricky Guiño
Por: eldervaz
Pueden poner algun rchivo compactado pero borrenle la extencion
Por: yojanner_blog
Es que me tienen restringidi, me plican filtro
Por: Yojanner_blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.