代码:
<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 进行测试,在实际使用中,不会出现类似情况。
本机IP可以这样获取:
function myIP() {if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest()
else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
xmlhttp.open("GET","http://api.hostip.info/get_html.php",false)
xmlhttp.send()
hostipInfo = xmlhttp.responseText.split("\n")
for (i=0 hostipInfo.length >= i i++) {
ipAddress = hostipInfo[i].split(":")
if ( ipAddress[0] == "IP" ) return ipAddress[1]
}
return false
}
myIP()//返回值就是
局域网IP你也可以仿照上面的方式,用JSONP来做,自己提供服务端接口