Capabilities クラスの使用

Flash Player 9 以降、Adobe AIR 1.0 以降

Capabilities クラスを使用すると、開発者はアプリケーションの実行環境に関する情報を取得できます。Capabilities クラスの様々なプロパティにより、ユーザーのシステムにおける画面解像度、アクセシビリティソフトウェアに対するサポートの有無、ユーザーのオペレーティングシステムの言語、および、現在インストールされている Flash ランタイムのバージョンを知ることができます。

Capabilities クラスのプロパティを確認すれば、実際のユーザー環境に応じてアプリケーションの動作を最適に調整できます。例えば、 Capabilities.screenResolutionX および Capabilities.screenResolutionY プロパティを調べることにより、ユーザーのシステムで使用されているディスプレイ解像度を判別し、どのサイズのビデオが最適かを判断できます。また、 Capabilities.hasMP3 プロパティを調べれば、外部 MP3 ファイルをロードする前にユーザーのシステムにおける MP3 再生のサポート状況を知ることができます。

次のコードでは、クライアント環境にインストールされている Flash ランタイムのバージョン情報を正規表現で解析しています。

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

ユーザーのシステムの機能に関する情報をサーバーサイドスクリプトに送信してデータベースに保存するには、次のような 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);