注意:支持IE,不支持chrome。 IE浏览器,亲测,可获取到mac等信息。
1、环境
系统:windows10 64位
IE版本:Internet Explorer 11.1016.18362.0
2、结果
代码在末尾,先看结果,如下:
3、验证
通过windows下cmd命令,验证:
查看主机名:# hostname查看主机名C:\Users\程序员的一天>hostnameDESOOP-FVKBAPV
查看当前用户名:C:\Users\程序员的一天>echo %username%程序员的一天
查看mac和ip:C:\Users\程序员的一天>ipconfig -all无线局域网适配器 WLAN: 连接特定的 DNS 后缀 . . . . . . . : 物理地址. . . . . . . . . . . . . : 0A-6C-5A-1F-2E-AC DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 IPv4 地址 . . . . . . . . . . . . : 192.168.0.11(首选)
与运行结果对比,可以看到是一样的:
MAC地址: 0A-6C-5A-1F-2E-ACIP地址: 192.168.0.11计算机名: DESOOP-FVKBAPV当前用户名: 程序员的一天
有的读者可能不知道什么是计算机名,这里解释一下。
计算机名:简单解释就是这台机器的物理名称,而不是你开机输入的那个用户名。
4、js代码:
新建一个mac.html文件,下面代码复制进去。将mac.html拖入ie浏览器即可。
(作为后端的我,被迫研究js,太难了…大家点个赞吧~~哈哈)
<!DOCTYPE html><html><head><meta charset="utf-8"><title>js获取mac等主机信息</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"><br/>当前用户名:<input type="text" id="userName"></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") 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><script>var WshShell =new ActiveXObject("WScript.Shell");x=document.getElementById("userName");// 找到元素x.value=WshShell.ExpandEnvironmentStrings("%USERNAME%");// 改变内容</script>
注意事项:
由于浏览器安全限制,会有两个弹窗,允许操作就好。
点击"允许",
点击"是",
公众号原文
简书原文
END.
微信公众号:程序员的一天
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。