这个是在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安全级别
运行结果如下:
您可能感兴趣的文章:- js获取IP和PcName(IE)在vs中可用
- Flex通过JS获取客户端IP和计算机名的实例代码