AS3使用Capabilities類獲取Flash Player的信息

AS3中flash.system.Capabilities類提供諸多靜態的只讀屬性來描述應用程序當前所運行在的系統和運行時信息,如Flash Player,Adobe AIR,Flash Lite。經過Capabilities能夠肯定運行應用程序的客戶端的諸多信息,並依此來爲用戶提供程序自己定製化的內容。本篇只就獲取瀏覽器中嵌入的Flash Player運行時,來列舉一些獲取其幾個常見信息所涉及到的屬性和釋義。html

###運行時類型瀏覽器

Capabilities.playerType屬性描述了當前應用程序的運行時類型。測試

能夠是如下幾種類型:flex

  • "ActiveX"ui

    用於 Microsoft Internet Explorer 使用的 Flash Player ActiveX 控件編碼

  • 「Desktop」操作系統

    表明 Adobe AIR 運行時(經過 HTML 頁加載的 SWF 內容除外,該內容將 Capabilities.playerType 設置爲「PlugIn」).net

  • 「External」插件

    用於外部 Flash Player 或處於測試模式下debug

  • 「PlugIn」

    表明 Flash Player 瀏覽器插件(和經過 AIR 應用程序中的 HTML 頁加載的 SWF 內容)

  • "StandAlone"

    用於獨立的 Flash Player

在以插件形式嵌入到瀏覽器中的Flash Player運行時上,Capablities.playerType返回的"PlugIn"。如,

var playerType:String = Capablities.playerType ;
trace("playerType : "+playerType); // playerType : Plugin

###運行時是不是調試版

Capabilities.isDebugger屬性描述運行時是否爲調試版本。ture說明當前運行時是不是調試版,false說明當前運行時爲正式版。如

var isDebuggerVersion:Boolean = Capabilities.isDebugger;
trace("Debugger Version : "+isDebuggerVersion); // Debugger Version : true

Adobe的運行時包括兩種類型,正式發佈版(release version)和調試版(debug version),對於開發人員來講,爲了在開發過程便於程序調試,咱們每每使用的是調試版的的運行時版本。對於普通的用戶來講,他們使用的大可能是正式發行版,對於Flash Player能夠去Adobe Flash Support Center來查看最新版的FLash Player下載信息。

###操做系統類型

Capabilities.os屬性指定了當期操做系統的名稱,常見的系統和對應值有

<table> <tbody> <tr> <th>操做系統</th> <th>值</th> </tr> <tr> <td>Windows 8</td> <td> <code>"Windows 8"</code> </td> </tr> <tr> <td>Windows 7</td> <td> <code>"Windows 7"</code> </td> </tr> <tr> <td>Windows Server 2003</td> <td> <code>"Windows Server 2003"</code> </td> </tr> <tr> <td>Windows XP 64</td> <td> <code>"Windows Server XP 64"</code> </td> </tr> <tr> <td>Windows XP</td> <td> <code>"Windows XP"</code> </td> </tr> <tr> <td>Windows Mobile</td> <td> <code>"Windows Mobile"</code> </td> </tr> <tr> <td>Mac OS</td> <td> <code>"Mac OS X.Y.Z"</code>(其中 X.Y.Z 爲版本號,例如 <code>"Mac OS 10.5.2"</code>) </td> </tr> <tr> <td>Linux</td> <td> <code>"Linux"</code>(Flash Player 鏈接 Linux 版本,如 <code>"Linux 2.6.15-1.2054_FC5smp"</code> </td> </tr> <tr> <td>iPhone OS 4.1</td> <td> <code>"iPhone3,1"</code> </td> </tr> </tbody> </table>

如,

var os:String = Capabilities.os;
trace("Current OS : "+os); // Current OS : Mac OS 10.8.5

###系統語言

Capabilities.language屬性說明,當前運行時所在系統的語言代碼

語言代碼是指由英文和數字組成的,用來描述語言類型的短字符串。語言指定爲ISO 639-1中小寫雙字母語言代碼,如中文zh,對於中文,使用ISO 3166中的大寫雙字母國家/地區代碼,以區分簡體中文(zh-CN)和繁體中文(zh-TW) 。

英文系統上,此屬性返回語言代碼,而不返回國家/地區編碼。如,

var language:String = Capabilities.language;
trace("System language : "+language); // System language : zh_CN

###版本信息

Capabilities.version屬性描述當前運行時的版本信息。

版本號的格式爲:平臺(platform),主版本號(majorVersion),次版本號(minorVersion),生成版本號(buildNumber),內部生成版本號(internalBuildNumber)。其中platform的可選值爲"WIN","MAC","LNX","AND",如

var versionReg:RegExp = /^(\w*) (\d*),(\d*),(\d*),(\d*)$/;

var version:String = Capabilities.version ;
trace("version : "+version);		//version : MAC 11,9,900,170
var v:Object = versionReg.exec(version) ;

var	platform:String = v[1] ,
	majorVersion:String = v[2] ,
	minorVersion:String = v[3] ,
	buildNumber:String = v[4] ,
 internalBuildNumber:String = v[5];
 
 trace("platform : "+platform);   //platform: MAC
 trace("majorVersion : "+platform);   //majorVersion: 11
 trace("minorVersion : "+platform);   //minorVersion: 9
 trace("buildNumber : "+platform);   //buildNumber: 900
 trace("internalBuildNumber : "+platform);   //internalBuildNumber: 170

Capabilities類中還包含了許多其餘的描述性靜態屬性,詳情見其文檔

###參考

相關文章
相關標籤/搜索