Uso della classe Capabilities

Flash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive

La classe Capabilities consente agli sviluppatori di determinare l'ambiente in cui viene eseguita l'applicazione. Utilizzando diverse proprietà della classe Capabilities, è possibile determinare la risoluzione del sistema dell'utente, se il sistema dell'utente supporta il software di accessibilità, la lingua del sistema operativo dell'utente nonché le versioni attualmente installate del runtime di Flash.

Mediante il controllo delle proprietà della classe Capabilities è possibile personalizzare l'applicazione per ottimizzare l'interazione con l'ambiente specifico dell'utente. Ad esempio, controllando le proprietà Capabilities.screenResolutionX e Capabilities.screenResolutionY è possibile determinare la risoluzione dello schermo utilizzata dal sistema dell'utente e stabilire quali sono le dimensioni del video più appropriate. In alternativa, è possibile controllare la proprietà Capabilities.hasMP3 per verificare se il sistema dell'utente supporta la riproduzione del formato mp3 prima di caricare un file mp3 esterno.

Il codice riportato di seguito utilizza un'espressione regolare per analizzare la versione del runtime di Flash utilizzata dal client:

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."); 
}

Se desiderate inviare le caratteristiche del sistema dell'utente a uno script sul lato server, in modo che le informazioni possano essere memorizzate in un database, potete utilizzare il codice ActionScript riportato di seguito:

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