Klasa Capabilities umożliwia programistom określenie środowiska, w którym jest uruchomiona aplikacja. Korzystając z różnych możliwości klasy Capabilities, można odczytać rozdzielczość ekranu w systemie użytkownika, sprawdzić, czy system współpracuje z oprogramowaniem ułatwiającym dostęp osobom niepełnosprawnym, określić język systemu operacyjnego użytkownika, a także numer zainstalowanej wersji środowiska wykonawczego Flash.
Na podstawie odczytanych właściwości klasy Capabilities można dostosować działanie aplikacji do konkretnego środowiska użytkownika. Na przykład, odczytując właściwości
Capabilities.screenResolutionX
i
Capabilities.screenResolutionY
, można określić rozdzielczość ekranu w systemie operacyjnym i na tej podstawie dobrać rozmiar wideo. Z kolei właściwość
Capabilities.hasMP3
pozwala sprawdzić, czy system użytkownika umożliwia odtwarzanie dźwięku w formacie MP3 jeszcze przed podjęciem próby załadowania zewnętrznego pliku MP3.
W poniższym kodzie użyto wyrażenia regularnego w celu odczytania numeru wersji środowiska wykonawczego Flash używanego przez klienta:
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.");
}
Aby przesłać informacje o możliwościach systemu do skryptu po stronie serwera i zapisać je w bazie danych, można użyć następującego kodu w języku 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);