JavaScript获取电脑名、IP和MAC地址(IE&Firefox)

如果你需要在浏览器端获取电脑名、IP 地址或者 MAC 地址,会面临一些浏览器安全限制的问题。不过,针对 IE 和 Firefox,还是有一些方法可以试试。
IE 中,你可以通过ActiveXObject来获取电脑名。

if (window.ActiveXObject) {
  var wmi = GetObject("winmgmts:");
  var computerName = wmi.ExecQuery("SELECT * FROM Win32_ComputerSystem").ItemIndex(0).Name;
  console.log("电脑名:", computerName);
}
这段代码仅在 IE 有效,其他浏览器会直接报错。
至于 IP 地址,可以通过动态加载外部 API 来获取。比如用隐藏的iframe加载返回 IP 的页面:
function getIP() {
  var iframe = document.createElement('iframe');
  iframe.src = "http://jsonip.com/?callback=?";
  iframe.style.display = "none";
  document.body.appendChild(iframe);
  [removed] = function() {
    var scriptTags = document.getElementsByTagName('script');
    var lastScriptTag = scriptTags[scriptTags.length - 1];
    var response = lastScriptTag.textContent || lastScriptTag.innerText;
    var json = JSON.parse(response.replace(/callback(/, '').replace(/)/, ''));
    var ipAddress = json.ip;
    console.log("IP 地址:", ipAddress);
    iframe[removed].removeChild(iframe);
  }
}
这方法也不复杂,但需要加载外部 API。
不过,获取 MAC 地址就比较麻烦了,尤其在 Firefox 上,浏览器的隐私保护做得挺严格的。直接通过 JavaScript 获取 MAC 地址是行不通的,除非使用浏览器插件或者扩展。
,获取这些信息的方式还是有点复杂,也涉及隐私问题,所以建议根据具体需求来使用这些技术。如果你只是想获取 IP 地址,建议通过服务端来获取,既安全又符合隐私规范。

rar 文件大小:5.2KB