这个是在js中获取ip和pcname的方法,现在将它放在flex启动模板中即可。看代码: 
复制代码 代码如下:
 
function getClientPcName() 
{ 
//"请将您浏览器Internet选项中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”设置为“启用”!\n\n然后刷新本页登陆!" 
var WshShellPcName = new ActiveXObject("WScript.Network"); 
var ComputerName = WshShellPcName.ComputerName ; 
return ComputerName; 
} 
function getClientIp() 
{ 
var WshShellIp = new ActiveXObject("rcbdyctl.Setting"); 
var ip = WshShellIp.GetIPAddress; 
return ip; 
} 
 
这段代码放到html模板中, 

 
记住是模板不是bin-debug,原因大家都比较清楚哈 
flex前台代码 
复制代码 代码如下:
 
<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:supportClasses="com.esri.ags.skins.supportClasses.*" minWidth="955" minHeight="600" creationComplete="init()"> 
<fx:Script> 
<![CDATA[ 
import mx.controls.Alert; 
public function init():void 
{ 
var strPCName:String = ExternalInterface.call("getClientPcName"); 
var strPCID = ExternalInterface.call("getClientIp"); 
mx.controls.Alert.show(strPCName+" "+strPCID); 
} 
]]> 
</fx:Script> 
<s:layout> 
<supportClasses:AttachmentLayout/> 
</s:layout> 
<fx:Declarations> 
<!-- 将非可视元素(例如服务、值对象)放在此处 --> 
</fx:Declarations> 
<mx:DataGrid x="186" y="173"> 
<mx:columns> 
<mx:DataGridColumn headerText="列 1" dataField="col1"/> 
<mx:DataGridColumn headerText="列 2" dataField="col2"/> 
<mx:DataGridColumn headerText="列 3" dataField="col3"/> 
</mx:columns> 
</mx:DataGrid> 
</s:Application> 
 
ExternalInterface实现js和as之间的通信 
这个方法只能在IE下实现,并且还得设置IE安全级别 

 
运行结果如下:
