AS3使用Capabilities类获取Flash Player的信息

AS3中flash.system.Capabilities类提供诸多静态的只读属性来描述应用程序当前所运行在的系统和运行时信息,如Flash Player,Adobe AIR,Flash Lite。通过Capabilities可以确定运行应用程序的客户端的诸多信息,并依此来为用户提供程序本身定制化的内容。本篇只就获取浏览器中嵌入的Flash Player运行时,来列举一些获取其几个常见信息所涉及到的属性和释义。

###运行时类型

Capabilities.playerType属性描述了当前应用程序的运行时类型。

可以是以下几种类型:

  • "ActiveX"

    用于 Microsoft Internet Explorer 使用的 Flash Player ActiveX 控件

  • “Desktop”

    代表 Adobe AIR 运行时(通过 HTML 页加载的 SWF 内容除外,该内容将 Capabilities.playerType 设置为“PlugIn”)

  • “External”

    用于外部 Flash Player 或处于测试模式下

  • “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类中还包含了许多其他的描述性静态属性,详情见其文档

###参考

转载于:https://my.oschina.net/hmj/blog/194866

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值