在js中獲取ip和pcname的方法,現在將它放在flex啟動模板中即可,具體實現如下,感興趣的朋友可以參考下,希望對大家有所幫助
這個是在js中獲取ip和pcname的方法,現在將它放在flex啟動模板中即可。看代碼:
復制代碼 代碼如下:
function getClientPcName()
{
//"請將您浏覽器Internet選項中的“對沒有標記為安全的ActiveX控件進行初始化和腳本運行”設置為“啟用”!nn然後刷新本頁登陸!"
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安全級別
運行結果如下: