js获取客户端网卡的IP地址、MAC地址


Posted in Javascript onMarch 26, 2014
<html> 
<head> 
<title></title> 
</head> 
<body> 
<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object> 
<object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></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> 
<script language="javascript"> 
var sMacAddr=""; 
var sIPAddr=""; 
var sDNSName=""; 
var service = locator.ConnectServer(); 
service.Security_.ImpersonationLevel=3; 
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration'); 
</script> 
<script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript"> 
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true){ 
if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress(0) != "undefined" && objObject.DNSServerSearchOrder!=null) 
sIPAddr = objObject.IPAddress(0); 
if(objObject.MACAddress != null &&objObject.MACAddress != "undefined") 
sMacAddr = objObject.MACAddress; 
if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined") 
sDNSName = objObject.DNSHostName; 
} 
</script> <script FOR="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必须要全部启用。

Javascript 相关文章推荐
js全屏显示显示代码的三种方法
Nov 11 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
JavaScript中的prototype.bind()方法介绍
Apr 04 Javascript
js获取元素的外链样式的简单实现方法
Jun 06 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
Sep 28 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
Feb 23 Javascript
JS创建Tag标签的方法详解
Jun 09 Javascript
JS通过调用微信API实现微信支付功能的方法示例
Jun 29 Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 Javascript
基于axios 的responseType类型的设置方法
Oct 29 Javascript
JavaScript组合模式---引入案例分析
May 23 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 Javascript
javascript判断chrome浏览器的方法
Mar 26 #Javascript
Javascript 浮点运算精度问题分析与解决
Mar 26 #Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 #Javascript
Node.js模拟浏览器文件上传示例
Mar 26 #Javascript
JavaScript关闭当前页面(窗口)不带任何提示
Mar 26 #Javascript
JavaScript数字和字符串转换示例
Mar 26 #Javascript
jquery实现瀑布流效果分享
Mar 26 #Javascript
You might like
用Zend Encode编写开发PHP程序
2010/02/21 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
使用CodeIgniter的类库做图片上传
2014/06/12 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
做网页的一些技巧
2007/02/01 Javascript
改版了网上的一个js操作userdata
2007/04/27 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python实现ftp文件传输功能
2020/03/20 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
事业单位个人应聘自荐信
2013/09/21 职场文书
2014年科普工作总结
2014/12/06 职场文书
工人先进事迹材料
2014/12/26 职场文书
旷工辞退通知书
2015/04/17 职场文书
交通事故协议书范本
2016/03/19 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android