Korzystanie z klasy CapabilitiesFlash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje 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); |
|