如果你要纯用js来实现,那就会有安全性的问题了,你要让用户把他的IE针对你的网站,把相应的安全性限制去掉才能使用,js显示本机IP.要注册一个控件,这个控件会出现安全提示,会给用户提示造成很大的影响.所以一般不用js来获取本机IP. 如果你不在意这个的话,代码如下:<HTML> <HEAD> <TITLE> WMI Scripting HTML </TITLE> <META http-equiv=Content-Type content= "text/html; charset=gb2312 "> <SCRIPT language=JScript event= "OnCompleted(hResult62pErrorObject, pAsyncContext) " for=foo> document.forms[0].txtMACAddr.value=unescape(MACAddr); document.forms[0].txtIPAddr.value=unescape(IPAddr); document.forms[0].txtDNSName.value=unescape(sDNSName); //document.formbar.submit(); </SCRIPT> <SCRIPT language=JScript event=OnObjectReady(objObjectycgobjAsyncContext) for=foo> if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined " && objObject.IPEnabled == true) { if(objObject.MACAddress != null && objObject.MACAddress != "undefined ") MACAddr = objObject.MACAddress; if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined ") IPAddr = objObject.IPAddress(0); if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined ") sDNSName = objObject.DNSHostName; } </SCRIPT> <META content= "MSHTML 6.00.2800.1106 " name=GENERA......余下全文>>使用搜狐接口:
使用新浪接口:(我测试过,此方法好像不行。访问网站也不能访问了。)
个人Robert Hashemian写的:
利用ActiveXObject控件,ie浏览器里要开启此控件:
JavaScript 获取的 IP 有个优点就是它获取的是本机设置的 IP,如果计算机通过局域网上网,那么它获得的就是计算机的局域网 IP,而不像 ASP 中 Request 获取的是计算机连接到互联网的 IP。通过两种获取 IP 的方法,就可以确定某一台计算机。
代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">
<title>JavaScript获取客户端IP</title>
</head>
<body>
<script type="text/javascript" language="javascript">
<!--
function GetLocalIPAddress()
{
var obj = null
var rslt = ""
try
{
obj = new ActiveXObject("rcbdyctl.Setting")
rslt = obj.GetIPAddress
obj = null
}
catch(e)
{
//异常发生
}
return rslt
}
document.write("你的IP是:" + GetLocalIPAddress())
//-->
</script>
</body>
</html>
在使用中可能会出现类似下图的警告,点击“是”,就可以运行了,也可以在【Internet 选项】中【安全】->【ActiveX 控件和插件】->【对没有标记为安全的 ActiveX 控件进行初始化和脚本运行】设置为【启用】,就不会弹出对话框了。有时候测试时因代码出错既不弹出对话框,也不显示 IP,更正代码后也是一样的情况,这时你需要重新打开 IE 进行测试,在实际使用中,不会出现类似情况。