[转载]js 获取多个mac地址(支持火狐与google) – 一天进步一点 – ITeye技术网站.
BS项目中要实现mac地址验证,只能在js获取mac地址,而网络上很多写法都是调用微软ActiveX,而此有几个缺点:
1: IE核心浏览器会弹出提示,很多客户会误以为是病毒,而点击否
2: 不支持非IE浏览器
3: 无法跨平台
所以只能采用别的处理办法,那能不能从别的地方下手呢?
答案是肯定的,一下是我的想法,大家可以在我的基础上进行拓展。
1: js读取xml
2: 通过批处理获取mac地址并生成XML
以下是代码:
html 通过js获取xml文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
</BODY>
</HTML>
<SCRIPT>
var progId, progIds = ["MSXML2.XMLHTTP.6.0" , "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
function getXMLHttpRequest()
{
if (!window.ActiveXObject) {
return new XMLHttpRequest();
} else if (progId != null) {
return new ActiveXObject(progId);
} else {
for (var i = 0; i < progIds.length; i++)
{
try {
return new ActiveXObject(progId = progIds[i]);
} catch (ex) {
progId = null;
}
}
}
}
function loadClass(src)
{
try
{
var xmlHttp = getXMLHttpRequest();
xmlHttp.open("GET", src, false);
xmlHttp.send(null);
var stus = xmlHttp.status;
if (stus == 200 || stus == 0 || stus == 304)
{
return xmlHttp.responseText;
}
}catch(ex){
alert("error!");
}
}
var e = loadClass("c:\\WINDOWS\\system32\\22.xml");
alert(e);
</SCRIPT>
通过bat 生成dos
@ECHO OFF
color 01a
@ECHO 系统启动中,请不要中断
C:
if not exist "c:\WINDOWS\system32\22.XML" (
for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical"')do echo %%b>>c:\WINDOWS\system32\22.xml
)
ping /n 2 127.1 >nul
rem 地址修改成需要的地址
start http://localhost/
@ECHO 恭喜你 启动成功
pause
Mikel