很遗憾,js本身无法获取用户IP
但是可以结合服务器程序来实现这个功能
以jquery和PHP为例:
js文件:
$get('getipphp', function(xhr) {
alert(xhr['ip']);
}, 'json');
//使用ajax方式向getipphp发送请求,设置接收格式为json
php文件getipphp :
<php
echo json_encode(array(
'ip' => $_SERVER['REMOTE_ADDR']
));
//返回json格式的IP地址
本机IP可以这样获取:
function myIP() {if (windowXML();//返回值就是
局域网IP你也可以仿照上面的方式,用JSONP来做,自己提供服务端接口
有几种方法,不过都必须要求对方运行ActiveX控件,因此对方的IE安全设置必须较低,否则无法运行,如果用ASP,PHP,JSP,ASPNET可以非常轻松地实现,而且没有此限制。
1:
<script language="JavaScript">
function GetLocalIPAddr(){
var oSetting = null;
var ip = null;
try{
oSetting = new ActiveXObject( "rcbdyctlSetting" );
ip = oSettingGetIPAddress;
alert(ip);
if (iplength == 0){
return "没有连接到Internet";
}
oSetting = null;
}catch(e){
return ip;
}
return ip;
}
alert(GetLocalIPAddr())
</script>
2:
<script>
function getIP(bat,txt){
var fso=new ActiveXObject("ScriptingFileSystemObject")
var f=fsocreateTextFile(bat,1);
fwriteLine("ipconfig>"+txt);
fClose();
var wsh=new ActiveXObject("wscriptshell");
wshrun(bat)
setTimeout(display,1000)
function display(){
var f=fsoopenTextFile(txt);
alert(fReadAll());
fClose();
fsoDeleteFile(bat);
fsoDeleteFile(txt);
}
}
getIP("qswhIPbat","qswhIPtxt")
</script>
3:
<object classid=clsid:{248DD896-BB45-11CF-9ABC-0080C7E7B78D}
name=winsock></object>
<script>try{alert(winsocklocalIP)}catch(e){alert("没安装该控件")}
</script>
如果你要纯用js来实现,那就会有安全性的问题了,你要让用户把他的IE针对你的网站,把相应的安全性限制去掉才能使用,js显示本机IP.要注册一个控件,这个控件会出现安全提示,会给用户提示造成很大的影响.所以一般不用js来获取本机IP. 如果你不在意这个的话,代码如下:&lt;HTML&gt; &lt;HEAD&gt; &lt;TITLE&gt; WMI Scripting HTML &lt;&#47;TITLE&gt; &lt;META >
以上就是关于如何用js或者jquery获取客户端的IP地址全部的内容,包括:如何用js或者jquery获取客户端的IP地址、js 获得 本机的ip地址,局域网ip、求 PHP 或 jS 获取客户端真是IP的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)