在前端开发中,偶尔会接到获取当前客户端的mac或者ip等地址的需求,之前在网络上搜索了一圈发现多种方法,但实际上并不是所有的方法都能行的通,或许是个人技术级别没到家,也或者开发环境或者其他因素影响了测试结果,现将本人测试过且行得通的方法放出来供参考,如果能帮助到同行,就免去了各位到处注册充值会员或者花钱购买了。
  1. 在IE浏览器环境且activeX的所有权限都开启的情况下,用如下代码获取mac:
function MacInfo(){
      var locator =new ActiveXObject ("WbemScripting.SWbemLocator");
      var service = locator.ConnectServer(".");
      var properties = service.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled =True");
      var e =new Enumerator (properties);
      {
            var p = e.item();
           var mac = p.MACAddress;
           alert(mac)
      }
}
  1. 获取本机的局域网ip:
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>JavaScript获取客户端IP[利用新浪接口]</title>

</head>

<body>

<script type="text/javascript" src="http://counter.sina.com.cn/ip/" charset="gb2312"></script>       <!--获取接口数据,注意charset -->

<script type="text/javascript"> 

document.writeln("IP地址:"+ILData[0]+"<br />");             //输出接口数据中的IP地址 

document.writeln("地址类型:"+ILData[1]+"<br />");         //输出接口数据中的IP地址的类型 

document.writeln("地址类型:"+ILData[2]+"<br />");         //输出接口数据中的IP地址的省市

document.writeln("地址类型:"+ILData[3]+"<br />");         //输出接口数据中的IP地址的

document.writeln("地址类型:"+ILData[4]+"<br />");         //输出接口数据中的IP地址的运营商

</script>

</body>

</html>

提示:该方法是通过三方支撑来实现的,所以一定要在互联网环境下才能行得通。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐