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属性指定了当期操作系统的名称,常见的系统和对应值有

操作系统
Windows 8 "Windows 8"
Windows 7 "Windows 7"
Windows Server 2003 "Windows Server 2003"
Windows XP 64 "Windows Server XP 64"
Windows XP "Windows XP"
Windows Mobile "Windows Mobile"
Mac OS "Mac OS X.Y.Z"(其中 X.Y.Z 为版本号,例如 "Mac OS 10.5.2"
Linux "Linux"(Flash Player 连接 Linux 版本,如 "Linux 2.6.15-1.2054_FC5smp"
iPhone OS 4.1 "iPhone3,1"

如,

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

AS3 os与version 区别 使用Capabilities类获取Flash Player的信息的更多相关文章

  1. 利用php获取图片完整Exif信息类 获取图片详细完整信息类

    <?php /** * @Author: TonyLevid * @Copyright: TonyLevid.com * @Name: Image Exif Class * @Version: ...

  2. Actionscript,AS3,MXML,Flex,Flex Builder,Flash Builder,Flash,AIR,Flash Player之关系

    转自zrong's blog:http://zengrong.net/post/1295.htm ActionScript ActionScript通常简称为AS,它是Flash平台的语言.AS编写的 ...

  3. 获取 Android APP 版本信息工具类(转载)

    获取 Android APP 版本信息工具类 获取手机APP版本信息工具类 1.获取版本名称 2.获取版本号 3.获取App的名称 package com.mingyue.nanshuibeidiao ...

  4. as3 object与dictionary区别

    AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类.Dictionary类和Object唯一的区别在于:Dictionary对象可以使用非字符串作为键值对 ...

  5. appium初学者,使用之检查appium环境报错Could not detect Mac OS X Version from sw_vers output: '10.12.1’,

    这个问题存在的原因就是appium不兼容最新的mac10.12版本. 由于10.12是最新mac版本,appium1.5.3并未提供支持,所以: 在终端输入grep -rl "Could n ...

  6. android手机状态解释,比方android.os.Build.VERSION.SDK

    //BOARD 主板 String phoneInfo = "BOARD: " + android.os.Build.BOARD; phoneInfo += ", BOO ...

  7. mac下执行 appium-doctor 出现 “Could not detect Mac OS X Version from sw_vers output: '10.12 '” 解决方法

      You can config file by this command: grep -rl "Could not detect Mac OS X Version from sw_vers ...

  8. 【Android】Field requires API level 4 (current min is 1): android.os.Build.VERSION#SDK_INT

    刚遇到了这个问题: Field requires API level 4 (current min is 1): android.os.Build.VERSION#SDK_INT 解决方法: 修改 A ...

  9. php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断

    php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断 实际需求:把sphinx返回的结果放到ssdb缓存里,要考虑到sph ...

随机推荐

  1. HBase scan shell操作详解

    创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value) -- sf: column family ...

  2. SQL——ROW_NUMBER

    版权声明:欢迎转载,请注明出处 https://blog.csdn.net/suneqing/article/details/30250193 语法: ROW_NUMBER() OVER(PARTIT ...

  3. c2java Greedy 之任务调度

    近期调试一个javaproject的时候,我遇到不是期望的输出结果时.是这么干的: A1凝视掉抛出的异常: A2加打印对照异常输入和正常输入. A3进一步加打印缩小范围. 事实上仅仅需:B1静下心来细 ...

  4. Vquery PHP 简单爬虫类

    http://www.thinkphp.cn/topic/36693.html 在使用php进行网页抓取的时候你有没有感觉到用起来比较麻烦呢?目前我还没有发现php有这样针对网页抓取的类,每次用到这个 ...

  5. es 之 Symbol

    ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制,保证 ...

  6. mysql 存储过程知识点

    一.创建存储过程 create procedure sp_name() begin ......... end 二.调用存储过程 1.基本语法:call sp_name(): 注意:存储过程名称后面必 ...

  7. 【python】python性能分析--待完善

    http://www.oschina.net/translate/python-performance-analysis http://blog.csdn.net/gzlaiyonghao/artic ...

  8. Input输入控制

    1.Input只能输入正整数 <html> <head> <title>只能输入正整数</title> </head> <body&g ...

  9. 发送邮件(单独文字)的方法(网易邮箱 OR QQ邮箱)

    # coding:utf-8import smtplibfrom email.mime.text import MIMEText # 发邮件相关的参数# 网易邮箱用这个# smtpserver=&qu ...

  10. Spring Cloud config之二:功能介绍

    SVN配置仓库 示例见:http://lvdccyb.iteye.com/blog/2282407 本地仓库 本地文件系统 使用本地加载配置文件.需要配置:spring.cloud.config.se ...