复制代码代码如下:
<Html>
<head>
<title> </title>
</head>
<body>
<objek classid = "clsid: 76a64158-cb41-11d1-8b02-00600806d9b6" id = "locator" style = "display: tidak ada; visibilitas: tersembunyi"> </ object>
<object classId = "clsid: 75718c9a-f029-11d1-a1ac-00c04fb6c223" id = "foo" style = "display: none; visibilitas: tersembunyi"> </object>
<Form name = "myForm">
<br/> mac 地址 : <input type = "text" name = "macAddress">
<br/> ip 地址 : <input type = "text" name = "ipaddress">
<br/> 主机名 : <input type = "text" name = "hostname">
</form>
</body>
</html>
<bahasa skrip = "javascript">
var smacaddr = "";
var sipaddr = "";
var sdnsname = "";
var service = locator.connectServer ();
service.security_.impersonationlevel = 3;
service.instancesofasync (foo, 'win32_networkAdapterConfiguration');
</script>
<skrip untuk = "foo" event = "onobjectready (objObject, objasynccontext)" language = "jscript">
if (objObject.ipeNabled! = null && objObject.ipeNabled! = "tidak terdefinisi" && objObject.ipeNabled == true) {
if (objObject.ipeNabled && objObject.ipaddress (0)! = null && objObject.ipaddress (0)! = "tidak terdefinisi" && objObject.dnsServerSearchorder! = null)
sipaddr = objObject.ipaddress (0);
if (objObject.macaddress! = null && objObject.macaddress! = "tidak terdefinisi")
smacaddr = objObject.macaddress;
if (objObject.dnshostname! = null && objObject.dnshostname! = "tidak terdefinisi")
sdnsname = objObject.dnshostname;
}
</script>
<skrip untuk = "foo" event = "onCompleted (hResult, perrorObject, pasynccontext)" language = "jscript">
myform.macaddress.value = smacaddr;
myform.ipaddress.value = sipaddr;
myForm.hostname.value = sdnsname;
</script>
代码是网上找到 , 但是经过修改。
原因是比如你笔记本有多张网卡 , 会出现获取你未联网或者禁用网卡的信息 , 解决办法 : 加限制条件 :
objObject.dnsServerSearchOrder! = NULL
加上这个限制条件后 , 就能取到联网客户端的网卡 ip 地址了。
不过还有个问题就是只能限制 IE 浏览器 , 而且 ActiveX 必须要全部启用。