无法在 Windows 8 上使用 Javascript ActiveXObject 检测客户端 mac 地址
Cannot detect client mac address using Javascript ActiveXObject On Windows 8
我正在尝试在Windows 8上使用JavaScript ActiveXObject获取客户端MAC地址,但它不起作用。
实际上它在Windows 7上运行良好。
这是我的代码:
var obj = new ActiveXObject("WbemScripting.SWbemLocator");
var s = obj.ConnectServer(".");
var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
var e = new Enumerator(properties);
var output;
var outputTemp = "";
var Number6MacAddress = "";
var ReturnedMACAddresesses = "";
output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
outputTemp = '';
output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
var Counter = 0;
while (!e.atEnd()) {
e.moveNext();
var p = e.item();
if (!p) continue;
output = output + '<tr bgColor="#FFFFFF">';
output = output + '<td>' + p.Caption; +'</td>';
output = output + '<td>' + p.MACAddress + '</td>';
//output = output + '<td>' + p.Properties_[43].Value + '</td>';
output = output + '</tr>';
}
在Windows 7中,它给出以下结果:
请注意,ID [00000007] 检测到网卡 MACAddress 成功,这是我正在使用的。
Caption MACAddress
[00000001] WAN Miniport (IKEv2) null
[00000002] WAN Miniport (L2TP) null
[00000003] WAN Miniport (PPTP) null
[00000004] WAN Miniport (PPPOE) null
[00000005] WAN Miniport (IPv6) null
[00000006] WAN Miniport (Network Monitor) null
[00000007] Qualcomm Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20) 50:E5:49:FC:4D:3F
[00000008] WAN Miniport (IP) null
[00000009] Microsoft ISATAP Adapter null
[00000010] RAS Async Adapter null
[00000011] Microsoft Teredo Tunneling Adapter null
[00000012] Remote NDIS based Internet Sharing Device null
[00000013] Microsoft ISATAP Adapter null
但是在Windows 8上,它给了我以下结果
注意:我的网卡不在列表中?我不知道为什么?
Caption - MACAddress
[00000001] - Microsoft Kernel Debug Network Adapter null
[00000002] - Microsoft ISATAP Adapter null
[00000003] - Microsoft Teredo Tunneling Adapter null
有什么想法吗?
您的代码跳过查询的第一个结果(即第一个网络接口,ID 通常为 00000000),这可能恰好是 Windows 8 盒子上唯一具有 MAC 地址的结果。
将e.moveNext()
移动到循环的末尾,看看它现在是否显示:
var obj = new ActiveXObject("WbemScripting.SWbemLocator");
var s = obj.ConnectServer(".");
var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
var e = new Enumerator(properties);
var output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
while (!e.atEnd()) {
var p = e.item();
if (!p) continue;
output = output + '<tr bgColor="#FFFFFF">';
output = output + '<td>' + p.Caption; +'</td>';
output = output + '<td>' + p.MACAddress + '</td>';
output = output + '</tr>';
e.moveNext();
}
output = output + '</table>';
相关文章:
- 将ActiveXObject返回值转换为JQuery Object以处理XML
- 使用HTML/Javascript表单使用ActiveXObject创建带有嵌入图像的outlook电子邮件
- Create ActiveXObject from GUID
- Javascript:使用ActiveXobject保存文件
- ActiveXObject 不是为除 IE 之外的所有浏览器定义的
- 使用 ActiveXObject (JavaScript) 读取 Excel 或 OpenOffice (.ods) 文
- 在Mozilla中获取MAC地址,ActiveXObject不起作用
- AJAX 即跨浏览器 ActiveXObject 问题
- 如何在使用新的ActiveXObject(“Excel.Application”)时格式化生成的Excel文件;
- 窗.ActiveXObject 在 IE11 中的区别
- 从 HTML 应用程序与 Flex 应用程序运行时出现 ActiveXObject 错误
- 无法在 Windows 8 上使用 Javascript ActiveXObject 检测客户端 mac 地址
- 打开ms word/excel应用程序,而无需使用activeXObject进行跨浏览器
- ActiveXObject ('word.application') Open 返回未定义
- 通过activexobject实现excel应用程序的方法和属性
- 未捕获的ReferenceError:ActiveXObject未在Chrome中定义错误
- Javascript错误“;被调用的对象已与其客户端断开连接”;创建ActiveXObject时
- ActiveXObject(“Scripting.FileSystemObject”)对我不起作用
- ActiveXObject可直接下载到HDD
- 新ActiveXObject("InternetExplorer.Application")丢失的窗