首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Windows 8上使用Javascript ActiveXObject检测客户端mac地址

无法在Windows 8上使用Javascript ActiveXObject检测客户端mac地址
EN

Stack Overflow用户
提问于 2014-12-23 18:38:42
回答 1查看 538关注 0票数 0

我试图在Windows 8上使用JavaScript ActiveXObject获得客户端mac地址,但它没有工作。

实际上,它在windows 7上运行得很好。

这是我的密码:

代码语言:javascript
复制
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>';
}

在Windows7中,给出了以下结果:

注意到ID 00000007成功地检测到网卡MACAddress,这就是我正在使用的.

代码语言:javascript
复制
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 

,但在Windows8上,它给出了以下结果:

通知:我的网卡不在名单上?我不知道为什么?

代码语言:javascript
复制
Caption  -  MACAddress 

[00000001] - Microsoft Kernel Debug Network Adapter null 

[00000002] - Microsoft ISATAP Adapter null 

[00000003] - Microsoft Teredo Tunneling Adapter null

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-23 19:16:37

您的代码正在跳过查询的第一个结果(即通常ID为00000000的第一个网络接口),这可能是您的Windows8框中唯一有MAC地址的。

e.moveNext()移到循环的末尾,看看它现在是否显示:

代码语言:javascript
复制
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>';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27626168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档