Utilisation de la classe Capabilities

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

La classe Capabilities permet aux développeurs de déterminer l’environnement dans lequel s’exécute l’application. A l’aide des diverses propriétés de la classe Capabilities, vous pouvez déterminer la résolution et la langue du système de l’utilisateur, savoir si ce système prend en charge les logiciels d’accessibilité et identifier la version du moteur d’exécution Flash actuellement installée.

La vérification des propriétés de la classe Capabilities vous autorise à personnaliser votre application pour un fonctionnement optimal sur l’environnement de l’utilisateur. Par exemple, si vous vérifiez les propriétés Capabilities.screenResolutionX et Capabilities.screenResolutionY, vous pouvez déterminer la résolution d’affichage du système de l’utilisateur et décider de la taille de vidéo la plus appropriée. Vous pouvez aussi vérifier la propriété Capabilities.hasMP3 pour voir si le système de l’utilisateur prend en charge la lecture du format mp3 avant d’essayer de charger un fichier mp3 externe.

Le code ci-après utilise une expression régulière pour analyser la version du moteur d’exécution Flash utilisée sur le 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."); 
}

Si vous souhaitez envoyer les capacités du système de l’utilisateur à un script côté serveur afin de stocker les informations dans une base de données, vous pouvez utiliser le code ActionScript suivant :

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