机器内部的浏览器能否获取机器的MAC地址?我正在构建一个API,需要获取机器的唯一标识(最好是MAC地址),但是经过讨论和研究,我意识到浏览器不支持此功能。如果不能,是否有任何方法可以使浏览器获取设备相关数据以替代MAC地址?
机器内部的浏览器能否获取机器的MAC地址?我正在构建一个API,需要获取机器的唯一标识(最好是MAC地址),但是经过讨论和研究,我意识到浏览器不支持此功能。如果不能,是否有任何方法可以使浏览器获取设备相关数据以替代MAC地址?
答案是否定的,浏览器无法通过常规的JavaScript访问设备的MAC地址。不过,你有没有尝试过Node.js呢?它有一个Mac插件,也许可以与另一个名为Browserify的插件结合使用,这样就能实现你想要的功能。使用Node.js的好处在于它拥有大量的插件,可以让你在浏览器中使用JavaScript做一些其他方式无法实现的事情。
但是你可以在页面加载时创建一个唯一的UID,并通过本地存储的方式保存起来,在需要设备特定ID时再取出来。不过这种方法在不同浏览器之间可能无法正常工作。希望这能给你指明正确的方向。祝你好运。
对于IE和ActiveX允许的情况:
function networkInfo(){
var wmi = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = wmi.ConnectServer(".");
e = new Enumerator(service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"));
for(; !e.atEnd(); e.moveNext()) {
var s = e.item();
var macAddress = unescape(s.MACAddress);
}
return macAddress;
}
alert(networkInfo());