Uso da classe Capabilities

Flash Player 9 e posterior, Adobe AIR 1.0 e posterior

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);