Uso de la clase Capabilities

Flash Player 9 y posterior, Adobe AIR 1.0 y posterior

La clase Capabilities permite a los desarrolladores determinar el entorno en el que se está ejecutando una aplicación. Se pueden utilizar diversas propiedades de la clase Capabilities para averiguar la resolución del sistema del usuario, si dicho sistema admite software de accesibilidad y el lenguaje del sistema operativo del usuario, así como la versión del motor de ejecución de Flash instalada en ese momento.

Se pueden comprobar los valores de las propiedades de la clase Capabilities para personalizar la aplicación de forma que funcione de forma óptima con el entorno específico del usuario. Por ejemplo, si se comprueban los valores de las propiedades Capabilities.screenResolutionX y Capabilities.screenResolutionY , se puede determinar la resolución de pantalla que utiliza el sistema del usuario y decidir qué tamaño de vídeo es el más apropiado. También se puede comprobar el valor de la propiedad Capabilities.hasMP3 para comprobar si el sistema del usuario admite la reproducción de MP3 antes de intentar cargar un archivo MP3 externo.

El código siguiente utiliza una expresión regular para analizar la versión del motor de ejecución de Flash que utiliza el cliente:

var versionString:String = Capabilities.version; 
var pattern:RegExp = /^(\w*) (\d*),(\d*),(\d*),(\d*)$/; 
var result:Object = pattern.exec(versionString); 
if (result != null) 
{ 
    trace("input: " + result.input); 
    trace("platform: " + result[1]); 
    trace("majorVersion: " + result[2]); 
    trace("minorVersion: " + result[3]);     
    trace("buildNumber: " + result[4]); 
    trace("internalBuildNumber: " + result[5]); 
} 
else 
{ 
    trace("Unable to match RegExp."); 
}

Si se desea enviar las características del sistema del usuario a un script de servidor de forma que se pueda almacenar la información en una base de datos, se puede utilizar el siguiente código ActionScript:

var url:String = "log_visitor.cfm"; 
var request:URLRequest = new URLRequest(url); 
request.method = URLRequestMethod.POST; 
request.data = new URLVariables(Capabilities.serverString); 
var loader:URLLoader = new URLLoader(request);