复制代码代码如下:
<html>
<Evista>
<title> </title>
</ablo>
<Body>
<Object ClassID = "CLSID: 76A64158-CB41-11D1-8B02-00600806D9B6" ID = "Locator" style = "Display: Ninguno; Visibilidad: Hidden"> </ject>
<Object ClassID = "CLSID: 75718C9A-F029-11D1-A1AC-00C04FB6C223" ID = "foo" style = "Display: None; Visibility: Hidden"> </ject>
<form de nombre = "myform">
<br/> Mac 地址 : <input type = "text" name = "macaddress">
<br/> IP 地址 : <input type = "text" name = "ipaddress">
<br/> 主机名 : <input type = "text" name = "hostname">
</form>
</body>
</html>
<script language = "javaScript">
var smacaddr = "";
var sipaddr = "";
var sdnsname = "";
servicio var = locator.connectserver ();
servicio.security_.ImmipsonationLevel = 3;
Service.instancesofasync (foo, 'win32_networkAdapterconfiguration');
</script>
<script for = "foo" event = "onobjectready (objobject, objasyncContext)" lenguaje = "jscript">
if (obJObject.IpeNabled! = NULL && objobject.Ipenable! = "Undefined" && obJObject.IpeNabled == true) {
if (obJObject.IPEnabled && objobject.ipaddress (0)! = null && objobject.ipaddress (0)! = "indefinido" && objobject.dnsserversearchorder! = null)
sipaddr = objobject.ipaddress (0);
if (objobject.macaddress! = null && objobject.macaddress! = "indefinido")
smacaddr = objobject.macaddress;
if (objobject.dnshostname! = null && objobject.dnshostname! = "indefinido")
sdnsname = objobject.dnshostName;
}
</script>
<script for = "foo" event = "onCompleted (HResult, PerrorObject, PasyncContext)" lenguaje = "jscript">
myForm.macaddress.value = smacaddr;
myForm.ipaddress.value = sipaddr;
myForm.hostName.Value = sdnsname;
</script>
代码是网上找到 但是经过修改。 但是经过修改。
原因是比如你笔记本有多张网卡 , 会出现获取你未联网或者禁用网卡的信息 解决办法 : 加限制条件 :
objobject.dnsserversearchorder! = NULL
加上这个限制条件后 , 就能取到联网客户端的网卡 ip 地址了。
不过还有个问题就是只能限制 es decir 浏览器 浏览器 而且 ActiveX 必须要全部启用。