代码改变世界

Flex中利用flash.system.Capabilities类检测用户端Flash Player各项参数的例子

2008-10-08 19:21  宝宝合凤凰  阅读(544)  评论(0)    收藏  举报

Flex中利用flash.system.Capabilities类检测用户端Flash Player各项参数的例子

http://blog.minidx.com/2008/07/19/1092.html

 

http://www.adobe.com/products/flash/about/  {Flash player版设计地址}

 

 

有些时候你可能想知道访问者Flash Player的版本,屏幕分辨率,操作系统,语言以及其他各种性能参数,接下来的例子演示了Flex中如何利用flash.system.Capabilities类,检测用户端Flash Player各项参数,显示在DataGrid中。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):

下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" viewSourceURL="srcview/index.html">
  3.    
  4.     <mx:Script>
  5.         <![CDATA[
  6.             import flash.system.Capabilities;
  7.            
  8.             /* Label function for the nameCol DataGridColumn object. */
  9.             private function nameColFunc(item:Object, column:DataGridColumn):String {
  10.                 var ss:String = item.@serverString;
  11.                 if (ss.length > 0) {
  12.                     ss = " (" + ss + ")";
  13.                 }
  14.                 return item.@name + ss;
  15.             }
  16.            
  17.             /* Label function for the valueCol DataGridColumn object. */
  18.             private function valueColFunc(item:Object, column:DataGridColumn):String {
  19.                 return Capabilities[item.@name];
  20.             }
  21.         ]]>
  22.     </mx:Script>
  23.    
  24.     <mx:XML id="capabilitiesXML" source="capabilities.xml" />
  25.    
  26.     <mx:ApplicationControlBar dock="true">
  27.         <mx:Label text="Player version: {Capabilities.version} (debug={Capabilities.isDebugger})" />
  28.     </mx:ApplicationControlBar>
  29.    
  30.     <mx:DataGrid id="dataGrid" width="100%" height="100%" variableRowHeight="true">
  31.         <mx:dataProvider>{capabilitiesXML.property}</mx:dataProvider>
  32.         <mx:columns>
  33.             <mx:DataGridColumn id="nameCol" labelFunction="nameColFunc" headerText="Property name (server string):" />
  34.             <mx:DataGridColumn id="valueCol" labelFunction="valueColFunc" headerText="Value:" wordWrap="true" />
  35.             <!--mx:DataGridColumn id="valueCol" dataField="@value" headerText="Value:" wordWrap="true" /-->
  36.         </mx:columns>
  37.     </mx:DataGrid>
  38.    
  39.     <mx:Panel title="Capabilities.serverString:" width="100%">
  40.         <mx:Text width="100%" htmlText="{Capabilities.serverString}" />
  41.     </mx:Panel>
  42.  
  43. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer