A classe Capabilities permite que os desenvolvedores determinem o ambiente no qual o aplicativo está sendo executado. Com o uso de várias propriedades da classe Capabilities, é possível descobrir a resolução do sistema do usuário, se o sistema do usuário oferece suporte a software de acessibilidade, o idioma do sistema operacional do usuário, bem como a versão do tempo de execução do Flash.
Verificando as propriedade da classe Capabilities, é possível personalizar o aplicativo para trabalhar melhor com o ambiente específico do usuário. Por exemplo, verificando as propriedades
Capabilities.screenResolutionX
e
Capabilities.screenResolutionY
, é possível determinar a resolução de vídeo que o sistema do usuário está usando e decidir qual tamanho de vídeo pode ser mais apropriado. Ou é possível verificar a propriedade
Capabilities.hasMP3
para verificar se o sistema do usuário oferece suporte à reprodução de mp3 antes de tentar carregar um arquivo mp3 externo.
O código a seguir usa uma expressão regular para analisar a versão do tempo de execução do Flash que está sendo usada pelo 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.");
}
Para enviar as capacidades do sistema do usuário para um script do lado do servidor de forma que as informações sejam armazenadas em um banco de dados, é possível usar o seguinte 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);